64,653
社区成员
发帖
与我相关
我的任务
分享
void sort(int a[], int n)
{
for (int gap = n / 2; gap > 0; gap /= 2)
for (int i = gap; i < n; ++i)
for (int j = i - gap; j >= 0 && a[j + gap] < a[j]; j -= gap)
{
int temp = a[j];
a[j] = a[j + gap];
a[j + gap] = temp;
}
}
void sort(int a[], int n)
{
for (int gap = n / 2; gap > 0; gap /= 2)//这个我懂的。
for (int i = gap; i < n; ++i)//这个循环在这里是什么意思?(从希尔排序的角度出发看)
for (int j = i - gap; j >= 0 && a[j + gap] < a[j]; j -= gap)//这个循环在这里是什么意思?(从希尔排序的角度出发看)
{
int temp = a[j];
a[j] = a[j + gap];
a[j + gap] = temp;
}
}