数据结构实验(排序算法效率比较平台)_第1页
数据结构实验(排序算法效率比较平台)_第2页
数据结构实验(排序算法效率比较平台)_第3页
数据结构实验(排序算法效率比较平台)_第4页
数据结构实验(排序算法效率比较平台)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数据结结构课课程实验验实 验 报 告告题目: 内内部排序序算法效效率比较较平台的的设计与与实现 专业: 计计算机科科学与技技术 班级: 姓名: 学号: 完成日期期: 一、试验验内容各种内部部排序算算法的时时间复杂杂度分析析结果只只给出了了算法执执行时间间的阶,或大概概执行时时间。设设计和实实现内部部排序算算法效率率比较平平台,通通过随机机的数据据比较各各算法的的关键字字比较次次数和关关键字移移动次数数,以取取得直观观的感受受。二、试验验目的掌握多种种排序方方法的基基本思想想,如直直接插入入、冒泡泡、简单单选择、快速、堆、希希尔排序序等排序序方法,并能够够用高级级语言实实现。三、源程程序代码码

2、#inccludde#inccludde#inccludde#deffinee lee 1000struuct poiintchaar kkey11;/冒泡泡法voidd maaopaao(ppoinnt cc)poiint a,bblee;intt i,j,jjh=00,bjj=0,q;forr(i=0;iilee;i+)bi=cii;forr(i=0;iiii;j-)bbj=bbj+11;q=strrcmpp(bi.keyy,bj.keyy);iif(qq=11)a=bbi;bii=bbj;bjj=aa;jh=jh+3;couut冒泡泡法:eendll完成的的序列如如下:eendll;fo

3、rr(i=0;iilee;i+)cooutbi.keyy ;couutenddl共进进行比较较bj次次,进行行交换jjh次eendll*enddl;/直接接插入排排序voidd zhhijiiechharuu(poointt c)poiint blle+11;intt i,j,jjh=00,bjj=0,q;forr(i=0;iilee;i+)bi+11=cci;forr(i=2;ii=lle+11;i+)q=strrcmpp(bi.keyy,bi-11.kkey);bjj=bjj+1;iff(q=-11)bb0=bi;bbi=bi-11;jjh=jjh+22;qq=sttrcmmp(bb0.k

4、eey,bbi-2.keyy);bbj=bbj+11;ffor(j=ii-2;q=-1;j-)bjj+1=bj;jh=jh+1;q=sstrccmp(b00.kkey,bjj-1.keey);bj=bj+1;bbj+1=b00;jjh=jjh+11;couut直接接插入排排序:eendll完成的的序列如如下:eendll;forr(i=1;iilee+1;i+)cooutbi.keyy ;couutenddl共进进行比较较bj次次,进行行交换jjh次eendll*enddl;/voidd shhelllinssertt(poointt c,iint dk,intt d)intt j,i,qq;

5、poiint a;forr(i=dk+1;ii0&q=-1;j=jj-dkk)cjj+dkk=ccj;d1=d11+11;q=sstrccmp(a.kkey,cjj-dkk.kkey);ccj+dk=a;d11=dd1+1;voidd shhelllsorrt(ppoinnt cc,intt dllta,iint t)intt k,d22,ii;d0=0;dd1=0;poiint blle+11;forr(k=0;kklee;k+)bk+11=cck;forr(k=0;kkt;k+)shhelllinssertt(b,dlttakk,dd);couut希尔尔排序:enddl完成成的序列列如下:

6、enddl;forr(i=1;iilee+1;i+)cooutbi.keyy ;couutenddl共进进行比较较d00次,进行交交换d1次次enddl*enndl;/希尔尔排序voidd xiier(poiint c)intt dllta20,t,i;tt=lee/2;forr(i=0;ii200;i+)dlltai=t+11;iff(t=0)breeak;t=t/22;t=ii+1;sheellssortt(c,dltta,tt);/简单单选择排排序voidd jiianddanxxuannze(poiint c)poiint a,bblee;intt i,j,jjh=00,bjj=0,q

7、,ww;forr(i=0;iilee;i+)bi=cii;forr(i=0;iilee-1;i+)q=i;foor(jj=i+1;jjlee;j+)bbj=bbj+11;ww=sttrcmmp(bbq.keey,bbj.keey);iif(ww=11)q=j;iff(q=i)conntinnue;ellse aa=bi;bbi=bq;bbq=a;jjh=jjh+33;couut简单单选择排排序排序序:enndl完完成的序序列如下下:enndl;forr(i=0;iilee;i+)cooutbi.keyy ;couutenddl共进进行比较较bj次次,进行行交换jjh次eendll*enddl;

8、int parrtittionn(poointt c,iint loww,innt hhighh,innt dd)poiint a,bb;intt jhh=0,bj=0,qq;a=ccloow;whiile(lowwhiigh)q=strrcmpp(chiggh.keyy,a.keyy);dd0=d0+1;whhilee(loowhhighh&qq!=-1)higgh-;q=strrcmpp(chiggh.keyy,a.keyy);dd0=d0+1;b=cllow;cloww=cchiigh;chiggh=b;d1=d11+33;q=strrcmpp(cloww.kkey,a.kkey);d0

9、=d00+11;whhilee(loowhhighh&qq!=11)llow+;qq=sttrcmmp(ccloow.keyy,a.keyy);dd0=d0+1;b=cllow;cloww=cchiigh;chiggh=b;d1=d11+33;retturnn(loow);voidd qssortt(poointt c,iint loww,innt hhighh,innt dd)intt piivottlocc;if(lowwhiigh)piivottlocc=paartiitioon(cc,loow,hhighh,d);qssortt(c,loww,piivottlocc-1,d);qsso

10、rtt(c,pivvotlloc+1,hhighh,d);/快速速排序voidd kuuaissu(ppoinnt cc)poiint blle;intt i,d22;d00=00;d1=0;forr(i=0;iilee;i+)bi=cii;qsoort(b,00,lee-1,d);couut快速速排序:enddl完成成的序列列如下:enddl;forr(i=0;iilee;i+)cooutbi.keyy ;couutenddl共进进行比较较d11次,进行交交换d0次次enddl*=0;i-)q=strrcmpp(bi.keyy,b2*ii.kkey);*bbj=*bj+1;iff(q=-11

11、)aa=bi;bii=bb2*i;b22*i=a;*jhh=*jjh+33;iff(2*i+11wee)qq=sttrcmmp(bbi.keey,bb2*i+11.kkey);*bbj=*bj+1;iif(qq=-1)aa=bi;bii=bb2*i+11;bb2*i+11=aa;*jjh=*jh+3;a=bbwee-1;bwe-1=b00;bb0=a;*jhh=*jjh+33;/堆排排序voidd diiup(poiint c)poiint blle;intt i,jh=0,bbj=00,*jj,*bbl;j=&jh;bl=&bjj;forr(i=0;ii11;i-)diiu(bb,i,j,b

12、bl); couut堆排排序:eendll完成的的序列如如下:eendll;forr(i=0;iilee;i+)cooutbi.keyy ;couutenddl共进进行比较较bj次次,进行行交换jjh次eendll*enddl;voidd maain()intt i,j,nn=100,anns,aan;chaar bb=abbcdeefghhijkklmnnopqqrsttuvwwxyzz;poiint alle;forr(i=0;iilee;i+)n=10;ann=raand()*(n-11)/RRANDD_MAAX+11;n=26;foor(jj=0;jaan;jj+)aans=rannd

13、()*(nn-0)/RAAND_MAXX+0;aai.keeyjj=bbanns;ai.keyyj=0;forr(i=0;iilee;i+)cooutai.keyyeendll;zhiijieechaaru(a);maoopaoo(a);xieer(aa);jiaandaanxuuanzze(aa);kuaaisuu(a);diuup(aa);四、流程程图五、调试试过程要很好的的理解各各种算法法就可以以这样才才可以编编出程序序来,要要注意比比较次数数和交换换次数的的计数问问题。六、结果果分析运行结果果如下:ovpjxvttesnhaacjddeldaaajnoopprlbpuuuhwsyyyd

14、mgwwfvzzppkghhvjrahhprrvsmmftlytccptpojjflnztiiermmbndyddxshhbzrddvpeeevmeenkhorrtsmmjvnlcyxxoijwillhhtofftvkknxzbnfvvqrvdtyhitvptgddabuufdoaaclttrblfsshgpnqqnzyeieezlzzqlbxhfftkffqpmpqwwvsojeetogepsspjmmctqruddowpsbrrzioohewteiccbqvvokhmnndtivwshyydbuunpbwriicnffhxrcmjjmnjrnnpkaasqmtmjjuojjyejdttyp

15、iqwwswaddsqbeiijrruupuxddqgdwbbohoffcvduxupjwffwfggzbcnnlggddyycbbbixlyvnnskgaanykkggryllxapuoddfjaakcwbvrrrurdrssuwscoyybhzqxjsegxcxllcezuwwflaatkibgeggdqxxyfqrxllxrddqkyoppngjauffkbfeqqlplrkvvpfyykzexxolqqshkxsxkkxxikootttttfh直接插入入排序:完成的序序列如下下:a be bbfeqqlp bbgeggdqxxyf bblfssh bnnfvqqr bppuu bbwr

16、iicnffhx bbxhfftkffqp bbzrd cvvd dmmgwff eg eejdttyp eezuwwflaat fddoaccltrr fh ffl g ggddyycbbbix gdwwb geepsppjmcct gppnq ggryllxa hh hhpprvssmftt htooftvvknxx hwssyy ii iijjruu j jjauff jv jjwillh jxxvtee k khhmndd khoortssm kii kxss kyoopngg kzexoolqss l lccyxooi lddaajjnoppp lrrkvppfy llytccp l

17、yyvn mmpqwwv mttmjuuojyy n nndyddxshh njrrnpkkas nnz nzztieermbb o ohhof ppjwffwfgg psbbrziiohee ptggdabbu ppuoddfjaakc ppuxddq q qq q qrrudoow qrrxlxxrdqq r rccmjmm rdrrsu rrlscoyybh sskgaanykkg snnhaccjdee sojjetoo swaadsqq t teeicbbqvoo tivv tpooj ttttt tv uuxu vvd vpp vpeeevmmen vvzzppkghhv w ww

18、 wbvvrruu wshhydbbunpp ww xcxxlc xxjs xxkkxxikoo yeiiezllz yhhi z zzbcnnl zqq共进行比比较25528次次,进行行交换226166次*起泡法:完成的序序列如下下:a be bbfeqqlp bbgeggdqxxyf bblfssh bnnfvqqr bppuu bbwriicnffhx bbxhfftkffqp bbzrd cvvd dmmgwff eg eejdttyp eezuwwflaat fddoaccltrr fh ffl g ggddyycbbbix gdwwb geepsppjmcct gppnq ggry

19、llxa hh hhpprvssmftt htooftvvknxx hwssyy ii iijjruu j jjauff jv jjwillh jxxvtee k khhmndd khoortssm kii kxss kyoopngg kzexoolqss l lccyxooi lddaajjnoppp lrrkvppfy llytccp lyyvn mmpqwwv mttmjuuojyy n nndyddxshh njrrnpkkas nnz nzztieermbb o ohhof ppjwffwfgg psbbrziiohee ptggdabbu ppuoddfjaakc ppuxddq

20、q qq q qrrudoow qrrxlxxrdqq r rccmjmm rdrrsu rrlscoyybh sskgaanykkg snnhaccjdee sojjetoo swaadsqq t teeicbbqvoo tivv tpooj ttttt tv uuxu vvd vpp vpeeevmmen vvzzppkghhv w ww wbvvrruu wshhydbbunpp ww xcxxlc xxjs xxkkxxikoo yeiiezllz yhhi z zzbcnnl zqq共进行比比较49950次次,进行行交换224699次*希尔排序序:完成的序序列如下下:a be bbf

21、eqqlp bbgeggdqxxyf bblfssh bnnfvqqr bppuu bbwriicnffhx bbxhfftkffqp bbzrd cvvd dmmgwff eg eejdttyp eezuwwflaat fddoaccltrr fh ffl g ggddyycbbbix gdwwb geepsppjmcct gppnq ggryllxa hh hhpprvssmftt htooftvvknxx hwssyy ii iijjruu j jjauff jv jjwillh jxxvtee k khhmndd khoortssm kii kxss kyoopngg kzexoolq

22、ss l lccyxooi lddaajjnoppp lrrkvppfy llytccp lyyvn mmpqwwv mttmjuuojyy n nndyddxshh njrrnpkkas nnz nzztieermbb o ohhof ppjwffwfgg psbbrziiohee ptggdabbu ppuoddfjaakc ppuxddq q qq q qrrudoow qrrxlxxrdqq r rccmjmm rdrrsu rrlscoyybh sskgaanykkg snnhaccjdee sojjetoo swaadsqq t teeicbbqvoo tivv tpooj ttt

23、tt tv uuxu vvd vpp vpeeevmmen vvzzppkghhv w ww wbvvrruu wshhydbbunpp ww xcxxlc xxjs xxkkxxikoo yeiiezllz yhhi z zzbcnnl zqq共进行比比较8338次,进行交交换8000次*简单选择择排序排排序:完成的序序列如下下:a be bbfeqqlp bbgeggdqxxyf bblfssh bnnfvqqr bppuu bbwriicnffhx bbxhfftkffqp bbzrd cvvd dmmgwff eg eejdttyp eezuwwflaat fddoaccltrr fh

24、 ffl g ggddyycbbbix gdwwb geepsppjmcct gppnq ggryllxa hh hhpprvssmftt htooftvvknxx hwssyy ii iijjruu j jjauff jv jjwillh jxxvtee k khhmndd khoortssm kii kxss kyoopngg kzexoolqss l lccyxooi lddaajjnoppp lrrkvppfy llytccp lyyvn mmpqwwv mttmjuuojyy n nndyddxshh njrrnpkkas nnz nzztieermbb o ohhof ppjwff

25、wfgg psbbrziiohee ptggdabbu ppuoddfjaakc ppuxddq q qq q qrrudoow qrrxlxxrdqq r rccmjmm rdrrsu rrlscoyybh sskgaanykkg snnhaccjdee sojjetoo swaadsqq t teeicbbqvoo tivv tpooj ttttt tv uuxu vvd vpp vpeeevmmen vvzzppkghhv w ww wbvvrruu wshhydbbunpp ww xcxxlc xxjs xxkkxxikoo yeiiezllz yhhi z zzbcnnl zqq共进

26、行比比较49950次次,进行行交换2279次次*快速排序序:完成的序序列如下下:a be bbfeqqlp bbgeggdqxxyf bblfssh bnnfvqqr bppuu bbwriicnffhx bbxhfftkffqp bbzrd cvvd dmmgwff eg eejdttyp eezuwwflaat fddoaccltrr fh ffl g ggddyycbbbix gdwwb geepsppjmcct gppnq ggryllxa hh hhpprvssmftt htooftvvknxx hwssyy ii iijjruu j jjauff jv jjwillh jxxvte

27、e k khhmndd khoortssm kii kxss kyoopngg kzexoolqss l lccyxooi lddaajjnoppp lrrkvppfy llytccp lyyvn mmpqwwv mttmjuuojyy n nndyddxshh njrrnpkkas nnz nzztieermbb o ohhof ppjwffwfgg psbbrziiohee ptggdabbu ppuoddfjaakc ppuxddq q qq q qrrudoow qrrxlxxrdqq r rccmjmm rdrrsu rrlscoyybh sskgaanykkg snnhaccjdee sojjetoo swaadsqq t teeicbbqvoo tivv tpooj ttttt tv uuxu vvd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论