void ShellSort(int A[], int n) {
int d, i, j;
for(d = n / 2; d >= 1; d = d / 2) {
for(i = d + 1; i <= n; ++i) {
if(A[i] < A[i - d]) {
A[0] = A[i];
for(j = i - d; j > 0 && A[0] < A[j]; j -= d) {
A[j + d] = A[j];
}
A[j + d] = A[0];
}
}
}
}
最坏时间复杂度:O(n2)
平均时间复杂度:O(n1.3) 大概
算法稳定性:不稳定
手算过程(重要)