#include <iostream>
using namespace std;
void sort(int *a, int left, int right)
{
int i, j, temp;
int gap = right - left + 1;
do
{
gap = (gap / 3) + 1;
for(i = left + gap; i
<= right; i++)
{
if(a[i]
< a[i - gap])
{
temp = a[i];
j = i - gap;
do
{
a[j + gap] = a[j];
j = j - gap;
}while(j >= left
&& temp <
a[j]);
a[j + gap] = temp;
}
}
}while(gap >
1);
}
int main()
{
int i;
int *a = new int[10];
cout<<"input 10
numbers:"<<endl;
for(i = 0; i < 10; i++)
{
cin>>a[i];
}
sort(a, 0, 9);
cout<<"After
sorted:"<<endl;
for(i = 0; i < 10; i++)
{
cout<<a[i]<<endl;
}
delete(a);
return 0;
}