欢迎来到天天文库
浏览记录
ID:38044789
大小:39.00 KB
页数:6页
时间:2019-05-25
《数据结构-排序代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#includeusingnamespacestd;#definen10//代排序的个数typedefintAnyType;//数据类型structRecType{intkey;AnyTypeother;//记录其他数据域};RecTypeR[n+1];//R[0]用作监视哨voidCreateRecType(RecTypeR[])//初始化数据{cout<<"最多输入"<>key;R[i].key=key;i++;}cout<<"输入成功!
2、!"<=R[i-1].key)continue;R[0]=R[i];j=i-1;do{R[j+1]=R[j];j--;}while(
3、R[0].key=R[j-n].key)continue;R[0]=R[j];k=j-h;do{R[k+h]=R[k];k=k-h;}while(k>0&&R[0].key4、];}}voidShellSort(RecTypeR[],intnum){inth;for(h=n/2;h>0;h=h/2){ShellInsert(R,n,h);if(h==1)break;}}/**********************************************************///冒泡排序:升序voidBubbleSort(RecTypeR[],intnum){inti,j,flag;for(i=1;i<=n-1;i++){flag=0;for(j=n;j>=i+1;j--)if(R[j].key5、j];R[j]=R[j-1];R[j-1]=R[0];}if(!flag)break;}}/**********************************************************///快速排序:升序intPartition(RecTypeR[],intp,intq){inti,j;i=p;j=q;R[0]=R[i];while(i=R[0].key)j--;if(i6、;}}R[i]=R[0];returni;}voidQuickSort(RecTypeR[],ints,intt){inti;if(s>=t)return;i=Partition(R,s,t);QuickSort(R,s,i-1);QuickSort(R,i+1,t);}/**********************************************************///选择排序:升序voidSelectSort(RecTypeR[],intnum){inti,j,k;for(i=1;i<=n;i++){k=i;for(j=i+1;j<=n;j++)if(R[j].7、key
4、];}}voidShellSort(RecTypeR[],intnum){inth;for(h=n/2;h>0;h=h/2){ShellInsert(R,n,h);if(h==1)break;}}/**********************************************************///冒泡排序:升序voidBubbleSort(RecTypeR[],intnum){inti,j,flag;for(i=1;i<=n-1;i++){flag=0;for(j=n;j>=i+1;j--)if(R[j].key5、j];R[j]=R[j-1];R[j-1]=R[0];}if(!flag)break;}}/**********************************************************///快速排序:升序intPartition(RecTypeR[],intp,intq){inti,j;i=p;j=q;R[0]=R[i];while(i=R[0].key)j--;if(i6、;}}R[i]=R[0];returni;}voidQuickSort(RecTypeR[],ints,intt){inti;if(s>=t)return;i=Partition(R,s,t);QuickSort(R,s,i-1);QuickSort(R,i+1,t);}/**********************************************************///选择排序:升序voidSelectSort(RecTypeR[],intnum){inti,j,k;for(i=1;i<=n;i++){k=i;for(j=i+1;j<=n;j++)if(R[j].7、key
5、j];R[j]=R[j-1];R[j-1]=R[0];}if(!flag)break;}}/**********************************************************///快速排序:升序intPartition(RecTypeR[],intp,intq){inti,j;i=p;j=q;R[0]=R[i];while(i=R[0].key)j--;if(i6、;}}R[i]=R[0];returni;}voidQuickSort(RecTypeR[],ints,intt){inti;if(s>=t)return;i=Partition(R,s,t);QuickSort(R,s,i-1);QuickSort(R,i+1,t);}/**********************************************************///选择排序:升序voidSelectSort(RecTypeR[],intnum){inti,j,k;for(i=1;i<=n;i++){k=i;for(j=i+1;j<=n;j++)if(R[j].7、key
6、;}}R[i]=R[0];returni;}voidQuickSort(RecTypeR[],ints,intt){inti;if(s>=t)return;i=Partition(R,s,t);QuickSort(R,s,i-1);QuickSort(R,i+1,t);}/**********************************************************///选择排序:升序voidSelectSort(RecTypeR[],intnum){inti,j,k;for(i=1;i<=n;i++){k=i;for(j=i+1;j<=n;j++)if(R[j].
7、key
此文档下载收益归作者所有