给定一个整型数组, 实现冒泡排序(升序排序)。
public static void bubbleSort (int[] array) {
//此时最外层控制的是趟数(5个数据,则需要4趟)
for (int i = 0; i < array.length-1; i++) {
boolean flg = false;//代码优化
for (int j = 0; j < array.length-1-i; j++) {
if (array[j] > array[j+1]) {
int tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
flg = true;
}
}
if (flg == false) {
return;
}
}
}
public static void main(String[] args) {
int[] arr = new int[] {2,3,5,7,9,1,6,4,8};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void main4(String[] args) {
int[] array = new int[10_0000];
for (int i = 0; i < array.length; i++) {
array[i] = i;
}
long start = System.currentTimeMillis();//获取当前系统时间
bubbleSort(array);
long end = System.currentTimeMillis();//获取执行完冒泡排序之后的系统时间
System.out.println(end - start);//代码优化后,差值很小
}