代码如下:
#include<iostream>
using namespace std;
void shell_sort(int arr[], int n)
{
int flag,i,j,length = n;
while (length > 1)
{
length = length / 2;
do{
flag = 0;
for (i = 0; i < n - length; i++)
{
j = i + length;
if (arr[i]>arr[j])
{
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
flag = 1;
}
}
} while (flag == 1);
}
}
void main()
{
int arr[] = { 3, 5, 4, 6, 2, 8, 7, 9,1,10 };
int n = sizeof(arr) / sizeof(int);
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
shell_sort(arr,n);
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
system("pause");
}