//希尔排序算法(不稳定的排序算法,时间复杂度为O(n))
void ShellValue(int a[], int n, int dk)
{
for (int i = dk; i < n; ++i)
{
//在某一区间段内进行直接插入排序算法
if (a[i] < a[i-1])
{
int x = a[i];
int j = i-1;
a[i] = a[i-1];
while(x <a[j]){
a[j+1] = a[j];
j--;
}
a[j+1] = x;
//cout << "ShellValue" <<end
void ShellValue(int a[], int n, int dk)
{
for (int i = dk; i < n; ++i)
{
//在某一区间段内进行直接插入排序算法
if (a[i] < a[i-1])
{
int x = a[i];
int j = i-1;
a[i] = a[i-1];
while(x <a[j]){
a[j+1] = a[j];
j--;
}
a[j+1] = x;
//cout << "ShellValue" <<end