/*用希尔排序算法对一随机数组排序*/
template<typename T>
void shellSort(T *arr, int n)
{
for (int gap = n / 2; gap > 0; gap /= 2)
for (int i = gap; i < n; i++) {
T e = arr[gap];
int j(i);
for (int j = i; j > i && e < arr[j]; j -= gap)
arr[j] = arr[j-gap];
arr[j] = e;
}
for (int i = 1; i < n; i++) {
T e = arr[i];
int j(0);
for (j = i; j > 0 && e < arr[j-1]; j--)
arr[j] = arr[j-1];
arr[j] = e;
}
}
而且 如果是500万个随机数差的更大

吓到我了。。。
登录后可查看更多问答,登录/注册