插入排序
public static void insertSort(int[] a) { if (a == null) { return; } for (int i = 2; i < a.length; i++) { for (int j = i; j > 0; j--) { if (a[j] < a[j - 1]) { int temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } else { break; } //输出结果查看 System.out.println("i=" + i + " j=" + j + " "); for (int j2 = 0; j2 < a.length; j2++) { System.out.print(+a[j2] + ","); } System.out.println(""); } } }
算法名称 最差时间复杂度 平均时间复杂度 最优时间复杂度 空间复杂度 稳定性
冒泡排序 O(N^2) O(N^2) O(N) O(1) 稳定
插入排序 O(N^2) O(N^2) O(N) O(1) 稳定
两种排序的交换次数,比较次数和每趟排序后的结果不一定相同