欢迎来到天天文库
浏览记录
ID:19691925
大小:88.00 KB
页数:14页
时间:2018-10-05
《数据结构课程设计—内部排序算法比较》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include#defineMAXNUM100#defineRADIX10#defineMAX8#defineMAX_SPACE10000typedefintKeysType;typedefstruct{KeysTypekeys[MAX];intnext;}SLCell;typedefstruct{SLCellr[MAX_SPACE];intkeynum;intrecnum;}SLList;typedefintArr
2、Type[RADIX];typedefstruct{intkey;}datatype;datatypeR[MAXNUM];//定义结构体数组intcn[11]={0};intmn[11]={0};voidCreateSLList(SLList&L,intn,datatypeR[])//基数排序{L.recnum=n;L.keynum=3;mn[10]+=2;//printf("pleaseinputdatanumbers:/n");//scanf("%d",&L.recnum);//printf("pl
3、easeinputkeynumbers:/n");//scanf("%d",&L.keynum);//printf("pleaseinput%dnumbers:/n",L.recnum);for(inti=1;i<=L.recnum;i++){cn[10]++;intj=L.keynum-1;L.r[i].keys[j--]=R[i].key/100;L.r[i].keys[j--]=R[i].key%100/10;L.r[i].keys[j]=R[i].key%10;mn[10]+=3;}for(i=
4、0;i=0;j--){printf("%d",L.r[i].keys[j]);cn[10]++;}cn[10]++
5、;printf("");}cn[10]++;printf("");}voidDistribute(SLCell(&r)[MAX_SPACE],inti,ArrType&f,ArrType&e)//基数排序{intj,p;for(j=0;j6、]++;}else{r[e[j]].next=p;mn[10]++;}e[j]=p;mn[10]++;}cn[10]++;}voidCollect(SLCell(&r)[MAX_SPACE],inti,ArrTypef,ArrTypee)//基数排序{intj,t;for(j=0;!f[j];j++);{cn[10]++;r[0].next=f[j];mn[10]++;}cn[10]++;t=e[j];mn[10]++;while(j7、1&&!f[j];j++);{cn[10]++;if(f[j]){r[t].next=f[j];t=e[j];mn[10]+=2;}}cn[10]++;}cn[10]++;r[t].next=0;mn[10]++;}voidRadixSort(SLList&L)//基数排序{inti;L.keynum=3;mn[10]++;ArrTypef,e;for(i=0;i8、tf("第%d趟收集后:",i+1);//Display(L);printf("");}cn[10]++;}voidA(datatypeR[],intn)//基数排序****{SLListL;CreateSLList(L,n,R);//printf("排序前的结果是:");//Display(L);RadixSort(L);//printf("排序后的结果是:");//Display(L);}voidD_InsertSort
6、]++;}else{r[e[j]].next=p;mn[10]++;}e[j]=p;mn[10]++;}cn[10]++;}voidCollect(SLCell(&r)[MAX_SPACE],inti,ArrTypef,ArrTypee)//基数排序{intj,t;for(j=0;!f[j];j++);{cn[10]++;r[0].next=f[j];mn[10]++;}cn[10]++;t=e[j];mn[10]++;while(j7、1&&!f[j];j++);{cn[10]++;if(f[j]){r[t].next=f[j];t=e[j];mn[10]+=2;}}cn[10]++;}cn[10]++;r[t].next=0;mn[10]++;}voidRadixSort(SLList&L)//基数排序{inti;L.keynum=3;mn[10]++;ArrTypef,e;for(i=0;i8、tf("第%d趟收集后:",i+1);//Display(L);printf("");}cn[10]++;}voidA(datatypeR[],intn)//基数排序****{SLListL;CreateSLList(L,n,R);//printf("排序前的结果是:");//Display(L);RadixSort(L);//printf("排序后的结果是:");//Display(L);}voidD_InsertSort
7、1&&!f[j];j++);{cn[10]++;if(f[j]){r[t].next=f[j];t=e[j];mn[10]+=2;}}cn[10]++;}cn[10]++;r[t].next=0;mn[10]++;}voidRadixSort(SLList&L)//基数排序{inti;L.keynum=3;mn[10]++;ArrTypef,e;for(i=0;i8、tf("第%d趟收集后:",i+1);//Display(L);printf("");}cn[10]++;}voidA(datatypeR[],intn)//基数排序****{SLListL;CreateSLList(L,n,R);//printf("排序前的结果是:");//Display(L);RadixSort(L);//printf("排序后的结果是:");//Display(L);}voidD_InsertSort
8、tf("第%d趟收集后:",i+1);//Display(L);printf("");}cn[10]++;}voidA(datatypeR[],intn)//基数排序****{SLListL;CreateSLList(L,n,R);//printf("排序前的结果是:");//Display(L);RadixSort(L);//printf("排序后的结果是:");//Display(L);}voidD_InsertSort
此文档下载收益归作者所有