实现希尔插入排序算法。

来源:互联网 发布:网络括扑结构图 编辑:程序博客网 时间:2024/05/18 03:38

 

#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();}

原创粉丝点击