1 void shellSort(ElementType a[], int n) {//原始希尔排序 2 int d, i, j; 3 int temp; 4 5 for (d = n / 2; d > 0; d /= 2) {//希尔增量序列 6 for (i = d; i < n; i++) { 7 temp = a[i]; 8 for (j = p; j >= d && a[j - d] > temp; i -= d)//插入排序,只是间隔1变成了d 9 a[i] = a[i - d]; 10 a[i] = temp; 11 } 12 } 13 }