数据结构7种排序算法

数据结构7种排序算法

ID:34714544

大小:48.11 KB

页数:6页

时间:2019-03-10

数据结构7种排序算法_第1页
数据结构7种排序算法_第2页
数据结构7种排序算法_第3页
数据结构7种排序算法_第4页
数据结构7种排序算法_第5页
资源描述:

《数据结构7种排序算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include#include#defineMAXSIZE20typedefintKeyType;typedefchar*InfoType;usingnamespacestd;structRedType{KeyTypekey;InfoTypeotherinfo;};structSqList{RedType*r;intlength;};voidinsertsort(SqList&L){for(inti=2;i<=L.length;++i){intj;if(L.r[i].key<=L.r[i-1].key){L.r[0]=L.r[i];for(j=i

2、-1;(L.r[0].key<=L.r[j].key);--j)L.r[j+1]=L.r[j];L.r[j+1]=L.r[0];}}}intSelectMinKey(SqListL,inti){KeyTypemin=L.r[i].key;intk=i;for(intj=i;j<=L.length;++j)if(min>L.r[j].key){min=L.r[j].key;k=j;}returnk;}voidswap(RedType*i,RedType*j){RedTypetemp;temp=*i;*i=*j;*j=temp;}voidSelectSort(SqList&L){for(

3、inti=1;i=L.r[j+1].key)swap(L.r[j],L.r[j+1]);}intpartition(SqList&L,intlow,inthigh){L.r[0]=L.r[low];intpivotkey=L.r[low].key;while(lo

4、w=pivotkey))--high;L.r[low]=L.r[high];while((low

5、votkey-1);}}voidQuickSort(SqList&L){Qsort(L,1,L.length);}voidprintlist(SqListL){for(inti=1;i<=L.length;i++)printf("%d",L.r[i].key);printf("");}typedefSqListHeapType;voidHeapAdjust(HeapType&H,ints,intm){RedTyperc=H.r[s];for(inti=2*s;i<=m;i*=2){if((i

6、=H.r[i].key)break;else{H.r[s]=H.r[i];//将较大的孩子与其自身交换s=i;}}H.r[s]=rc;}voidHeapSort(HeapType&H){for(inti=H.length/2;i>0;--i)HeapAdjust(H,i,H.length);for(inti=H.length;i>1;--i){printf("%d",H.r[1].key);swap(H.r[1],H.r[i]);HeapAdjust(H,1,i-1);}printf("%d",H.r[1].key);printf("");}voidMerge(RedTypeSR

7、[],RedTypeTR[],inti,intm,intn){intj,k;for(j=m+1,k=i;i<=m&&j<=n;++k){if(SR[i].key<=SR[j].key)TR[k]=SR[i++];elseTR[k]=SR[j++];}while(i<=m)TR[k++]=SR[i++];while(j<=n)TR[k++]=SR[j++];}voidMSort(RedTypeSR[],RedTypeTR1[],ints,intt){RedT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。