昨天老师让自己编写一个冒泡排序算法,我从网上查找了一些,发现这些冒泡排序算法基本都是给出了一个已确定的数组来进行排序,这样感觉很麻烦,所以我借鉴了网上的代码java冒泡排序,并且做出了一些修改,使得我们可以自己去输入数组,然后使其冒泡排序。
package 算法;
import java.util.Scanner;
public class Maopaosortfinal {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int length=0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数组长度:");
length=scanner.nextInt();
int score[] = new int[length];
System.out.println("请输入需排序数列:");
for(int i=0;i<score.length;i++) {
score[i]=scanner.nextInt();
}
for (int i = 0; i < score.length -1; i++){ //最多做n-1趟排序
for(int j = 0 ;j < score.length - i - 1; j++){ //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
if(score[j] < score[j + 1]){ //把小的值交换到后面
int temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
System.out.print("第" + (i + 1) + "次排序结果:");
for(int a = 0; a < score.length; a++){
System.out.print(score[a] + "\t");
}
System.out.println("");
}
System.out.print("最终排序结果:");
for(int a = 0; a < score.length; a++){
System.out.print(score[a] + "\t");
}
}
}
这是执行结果(我选择length=6):