public class SortTest {
public void sort(int[] args){
for(int m : args){
System.out.print("排序前 "+args[m]+" ");
}
int time1 = 0,time2 = 0;
for(int i = 0 ; i < args.length-1 ; i++){
++time1;
for(int j = i+1 ; j < args.length ; j++){
++time2;
int temp ;
if(args[i] > args[j]){
temp = args[j];
args[j] = args[i];
args[i] = temp;
}
}
}
System.out.println();
System.out.println("外循环次数:"+time1+"内循环次数:"+time2);
for(int n : args){
System.out.print("排序后 "+n+" ");
}
}
public static void main(String[] args) {
int[] arg = new int[]{2,1,4,5,8,7,6,3,9,0};
new SortTest().sort(arg);
}
}
降序排列 循环次数最少
输出结果为:
排序前 4 排序前 1 排序前 8 排序前 7 排序前 9 排序前 3 排序前 6 排序前 5 排序前 0 排序前 2
外循环次数:9 内循环次数:45
排序后 0 排序后 1 排序后 2 排序后 3 排序后 4 排序后 5 排序后 6 排序后 7 排序后 8 排序后 9 |
|