冒泡排序2

冒泡排序原理:每一趟只能将一个确定的数归位。 如果有n个数,那么需要将n-1个数进行归位,也就是说需要进行n-1趟操作,最后一趟是第一位数和第二位数进行比较。每一趟都需要从第1位开始进行两两相邻的比较,将较小的数放在后面,比较完毕之后下标向后挪一位继续两两比较,重复此步骤,直到最后一个尚未归位的数,已经归位的数则无需比较。这样得到一个从大到小的有序数列。

package com.company;
import java.util.Scanner;

import javax.sound.midi.Soundbank;

public class Main {
    //经典冒泡排序
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int[] num=new int[n];

        for (int i=0;i<num.length;i++){
            num[i]=scanner.nextInt();
        }
        sort(num,n);

    }
    public static  void sort(int[] num,int n){
        int i,j,k,temp;
        for (i=num.length-1;i>0;i--){
            for (j=0;j<i;j++){
                if (num[j]>num[j+1]){
                    temp=num[j];
                    num[j]=num[j+1];
                    num[j+1]=temp;
                }
            }
        }
        for (i=0;i<num.length;i++){
            System.out.print(num[i]+" ");
        }
    }
}

那么如何输出成绩从高到低的学生姓名呢。

猜你喜欢

转载自www.cnblogs.com/zhuzehua/p/9827599.html