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
插入排序若是對於相同的兩個數不會改變他們的先後順序,要麼插入到相同數據的前方,要麼插入到後方,可是相同數據的先後順序是不變的,因此是插入排序穩定的。排序