public static void sort(int[] array) { if (array.length == 0 || array.length == 1) return; for (int i = 1; i < array.length; i++) { int temp = array[i]; int j; for (j = i - 1; j >= 0; j--) { if (array[j] > temp) { array[j + 1] = array[j]; } else { break; } } array[j + 1] = temp; } }
最优时间复杂度:O(n)java
平均时间复杂度:O(n^2)spa
最坏时间复杂度:O(n^2)code
平均空间复杂度:O(1)orm
插入排序若是对于相同的两个数不会改变他们的先后顺序,要么插入到相同数据的前方,要么插入到后方,可是相同数据的先后顺序是不变的,因此是插入排序稳定的。排序