1. 程式人生 > >程式猿必懂的排序方法(1)--插入排序

程式猿必懂的排序方法(1)--插入排序

直接插入排序--基本思想

 在要排序的一組數中,假設前面的(n-1)[n>=2] 個數已經是排好序的。現在要把第n個數插入到前面的有序數中,使得n個數也是排好序的。如此反覆迴圈,直到全部排好順序。

上程式碼 :

/** * 插入排序 * 平均O(n^2),最好O(n),最壞O(n^2);空間複雜度O(1);穩定;簡單 * @author zeng * */
public static void insertionSort(int[] a) { int tmp; for (int i = 1; i < a.length; i++) { for (int j = i; j >
0; j--) { if (a[j] < a[j - 1]) { tmp = a[j - 1]; a[j - 1] = a[j]; a[j] = tmp; } } } }