public class BubbleSort {
//时间复杂度:O(n^2),空间复杂度:O(1),时间复杂度最好情况为O(n)。
//程序运行时间:125743ms
public static void main(String[] args) {
int[] a = {
9, 3, 1, 4, 6, 8, 7, 5, 2};
sort(a);
print(a);
}
static void sort(int[] a) {
for (int j = 1; j < a.length; j++) {
boolean flag = true;//优化
for (int i = 0; i < a.length - j; i++) {
if (a[i] > a[i + 1]){
swap(a, i, i + 1);
flag = false;//优化的地方,减少不必要的步骤
}
}
if (flag) break;
}
}
static void print(int[] arr) {
for (int k = 0; k < arr.length; k++) System.out.print(arr[k] + " ");
}
static void swap(int[] arr, int i, int j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
优化版 冒泡排序 含动图
猜你喜欢
转载自blog.csdn.net/Sherlook_Holmes/article/details/120803822
今日推荐
周排行