数据结构 希尔排序

来源:互联网 发布:知乎用户政治倾向 编辑:程序博客网 时间:2024/06/07 02:18
#include<iostream>//引入输入输出流 #include<stdlib.h>//使用库函数srand和rand #include<time.h>//使用库函数timeusing namespace std;const int Max=10;void Creat(int r[],int n);void ShellSort(int r[],int n);int main(){int a[Max+1]={0},b[Max+1]={0};int i=0;Creat(a,Max);for(i=1;i<=Max;i++)//将数组a复制一份到数组bb[i]=a[i];cout<<"对于无序序列:";for(i=1;i<Max;i++)cout<<b[i]<<" ";cout<<endl;ShellSort(a,Max);cout<<"执行希尔排序后,元素为:";for(i=1;i<Max;i++)cout<<a[i]<<" ";cout<<endl; return 0; }void Creat(int r[],int n){int i=0;srand(time(NULL));for(i=1;i<=n;i++)r[i]=1+rand()%100;//待排序记录为二位数 }void ShellSort(int r[],int n){int i,d,j;for( d=n/2;d>=1;d=d/2){for(i=d+1;i<=n;i++){r[0]=r[i];for( j=i-d;j>0&&r[0]<r[j];j=j-d)r[j+d]=r[j];r[j+d]=r[0];}}} 

原创粉丝点击