冒泡排序有两种写法:
第一种:
score[j] 和 score[j+1] 比较 如果 前者比后者小,把前者和后者调换顺序,两两调换后一轮下来 最小的会被排到最后去。每一轮j都从0开始,当i轮排序,就有最后面的i个数字因为他是最小的,所以后面的每轮都不用理他了。
int[] array = {44,4,55,67,34,8,23};
System.out.println("排序之前:");
for(int num:array){
System.out.print(num + " ");
}
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length-i-1;j++){
if(array[j] < array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
System.out.println();
System.out.println("排序之后:");
for(int num:array){
System.out.print(num + " ");
}
第二种:
int[] array = {44,4,55,67,34,8,23};
System.out.println("排序之前:");
for(int num:array){
System.out.print(num + " ");
}
for(int i=0;i<array.length;i++){
for (int j=array.length-2;j>=i;j--){
if(array[j+1]>array[j]){
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
System.out.println();
System.out.println("排序之后:");
for(int num:array){
System.out.print(num + " ");
}