1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
希尔排序: 其实就是分好组(通过步长)然后对每组进行插入排序 这里步长选择都是从n/2开始,每次再减半,直到最后为1。 */
void (int a[], int n) { int i, j, gap; for (gap = n / 2; gap > 0; gap /= 2) for (i = gap; i < n; i++) for (j = i - gap; j >= 0 && a[j] > a[j + gap]; j -= gap) Swap(a[j], a[j + gap]); }
|
近期评论