排序办法工夫复杂度(均匀)工夫复杂度(最坏)工夫复杂度(最好)空间复杂度稳定性复杂性
插入排序O(n^2)O(n^2)O(n)O(1)稳固简略
希尔排序O(nlogn)O(n^2)O(n^1.3)O(1)不稳固较简单

一、插入排序

public static void sort(int[] arr) {  for (int i = 1; i < arr.length; i++) {    int tmp = arr[i];    int j;    for (j = i - 1; j >= 0 && tmp < arr[j]; j--) {      arr[j + 1] = arr[j];    }    arr[j + 1] = tmp;  }}

二、希尔排序(放大增量排序)

public static void sort(int[] arr) {  for (int gap = arr.length / 2; gap > 0; gap = gap / 2) {    for (int i = 0; i < gap; i++) {      for (int j = i + gap; j < arr.length; j += gap) {        int tmp = arr[j];        int k;        for (k = j - gap; k >= 0 && tmp < arr[k]; k -= gap) {          arr[k + gap] = arr[k];        }        arr[k + gap] = tmp;      }    }  }}

....待欠缺,最终会把所有罕用排序都放进来