//冒泡法的优化
//优化计算时间
package kill;
import java.util.Arrays;
public class TestDemo2 {
public static void bubbleSort2(int[] array){
System.out.println(System.currentTimeMillis()); //开始语句
int tmp = 0;
for(int i = 0;i < array.length-1;i++){//趟数
boolean swap = false;
//当前面的数比后面的数大时执行for
for(int j = 0;j < array.length-1-i;j++){
if(array[j] > array[j+1]){
tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
swap = true;
}
}
//当前面的数比后面的数小时跳出,这样就省下多余的步骤
if(!swap){//swap == false
break;
}
}
System.out.println(System.currentTimeMillis());//结束语句 用来计算时长
}
public static void main(String[] args) {
int[] array=new int[10000];
for(int i = 0;i < array.length;i++){
array[i] = (int)(Math.random()*10+1);
}
bubbleSort2(array);
System.out.println(Arrays.toString(array));
}
}