#include"iostream"
using namespace std;
class shellsort{
private:
int data[20];
int length;
public:
shellsort(){
cout << "请输入元素个数" << endl ;
cin >> length;
cout << "请输入元素" << endl ;
for(int i=0;i<length;i++)
cin >> data[i];
}
void sort(){
int j,gap;
int key;
gap=length/2;
while(gap>0)
{
for(int i=gap;i<length;i++)
{
key=data[i];
j=i-gap;
while(j>=0&&key<data[j])
{
data[j+gap]=data[j];
j=j-gap;
}
data[j+gap]=key;
}
for(int m=0;m<length;m++)
cout << data[m] << " " ;
cout << endl ;
gap=gap/2;
}
cout << "排序成功" << endl ;
}
void display()
{
for(int i=0;i<length;i++)
{
cout << data[i] << " " ;
}
cout << endl ;
}
};
void main()
{
shellsort s;
s.sort();
s.display();
}