数据结构最短路径_第1页
数据结构最短路径_第2页
数据结构最短路径_第3页
数据结构最短路径_第4页
数据结构最短路径_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、课程名称数据结构上机名称.排序上机日期2013-5-22班级计科1203姓名汪俊学号1030412314上机报告要求1.上机名称2.上机要求3.上机环境4.程序清单(写明运行结果)5.上机体会1上机名称排序,实验52.上机要求调试实验一,补充实验2主函数,完成实验33上机环境VisualC+6.04程序清单(写明运行结果)、#includevstdio.h#defineN10#defineFALSE0#defineTRUE1typedefintKeyType;typedefcharInfoType;typedefstructKeyTypekey;InfoTypeotherinfo;RecTyp

2、e;typedefRecTypeSeqlistN+1;intm,num;全局变量m存储输出的是第几趟结果,num存储递归调用的次数SeqlistR;voidInsertsort();voidBubblesort();voidSelectsort();voidmain()SeqlistS;inti;charchl,ch2;printf(请输入10个待排序的数据:(每两个数据间用空格隔开)n);for(i=1;iv=N;i+)scanf(%d,&Si.key);ch1=y;while(ch1=yllch1=Y)printf(*菜单*n)printf(”请选择下列操作:n);TOC o 1-5 h

3、zprintf(1更新待排序数据n);printf(2直接插入排序n);printf(3冒泡排序n);printf(4直接选择排序n);printf(5退出n);printf(请选择操作类别:n);scanf(n%c,&ch2);switch(ch2)caseT:printf(请输入更新待排序数据:n);for(i=1;i=N;i+)scanf(%d,&Si.key);break;case2:printf(请输入要输出第几趟排序结果:n);scanf(%d,&m);for(i=1;i=N;i+)Ri.key=Si.key;Insertsort();break;case3:printf(请输入要

4、输出第几趟排序结果:n);scanf(%d,&m);for(i=1;i=N;i+)Ri.key=Si.key;Bubblesort();break;case4:printf(请输入要输出第几趟排序结果:n);scanf(%d,&m);for(i=1;i=N;i+)Ri.key=Si.key;Selectsort();break;case5:chl=n;break;default:ch1=n;voidInsertsort()inti,j,k;for(i=2;iv=N;i+)if(Ri.keyvRi-1.key)R0=Ri;j=i-1;while(RO.keyvRj.key)/*从右向左在有序区R

5、1.i-1中查找Ri的插入位置*/Rj+1=Rj;j-;Rj+1=R0;if(i-1=m)printf(”第小趟的结果是:n,m);for(k=1;k=N;k+)printf(”5d,Rk.key);printf(n);printf(”请输入还想输出第几趟结果,不想输出时请输入0:n);scanf(%d,&m);if(m!=0)printf(”最终排序结果是:n);for(k=1;k=i;j-)if(Rj+1.keyvRj.key)R0=Rj+1;Rj+1=Rj;Rj=R0;exchange=TRUE;if(i=m)printf(”第小趟的结果是:n,m);for(k=1;k=N;k+)pri

6、ntf(”5d,Rk.key);printf(n);printf(”请输入还想输出第几趟结果,不想输出时请输入0:n);scanf(%d,&m);if(!exchange)ll(m=O)break;if(m!=0)printf(最终排序结果是:n);for(k=1;k=N;k+)printf(%5d,Rk.key);printf(n);voidSelectsort()inti,j,k,h;for(i=1;iN;i+)h=i;for(j=i+1;j=N;j+)if(Rj.keyvRh.key)h=j;if(h!=i)R0=Ri;Ri=Rh;Rh=RO;if(i=m)printf(”第小趟的结果是

7、:n,m);for(k=l;kv=N;k+)printf(”5d,Rk.key);printf(n);printf(”请输入还想输出第几趟结果,不想输出时请输入0:n);scanf(%d,&m);if(m!=0)printf(”最终排序结果是:n);for(k=1;k#defineN4#definefalse0#defineture1typedefintkeytype;typedefcharinfotype;typedefstructkeytypekey;infotypeotherinfo;rectype;typedefrectypeseqlistN+l;intm,num;seqlistR;v

8、oidquicksort(seqlist&R,ints,intt)inti=s,j=t;if(ivj)R0=Ri;dowhile(ivj&Rj.key=RO.key)j-;if(ij)Ri=Rj;i+;while(ij&Ri.keyv=RO.key)i+;if(i0)for(i=gap;iv=n;i+)R0=Ri;j=i-gap;while(j=1&RO.keyvRj.key)Rj+gap=Rj;j=j-gaP;Rj+gap=R0;j=j-gaP;gap=gap/2;voidsift(seqlist&R,intv,intn)inti,j;i=v;j=2*i;RO=Ri;while(jv=n)i

9、f(j=1;i-)sift(R,i,n);for(i=n;i=2;i-)R0=Ri;Ri=R1;R1=R0;sift(R,1,i-1);voidshow(seqlist&R,intn)inti;for(i=1;i#includevstring#includeviostreamusingnamespacestd;#defineN6#definefalse0#defineture1typedefintkeytype;typedefstringinfotype;typedefstructkeytypepaim;keytypekey;infotypeotherinfo;rectype;typedefr

10、ectypeseqlistN+l;intm,num;seqlistR;voidquicksort(seqlist&R,ints,intt)inti=s,j=t;if(ivj)RO=Ri;dowhile(ivj&Rj.key=RO.key)j-;if(ij)Ri=Rj;i+;while(ij&Ri.keyv=RO.key)i+;if(i0)for(i=gap;iv=n;i+)R0=Ri;j=i-gap;while(j=1&RO.keyvRj.key)Rj+gap=Rj;j=j-gaP;Rj+gap=R0;j=j-gaP;gap=gap/2;voidsift(seqlist&R,intv,intn

11、)inti,j;i=v;j=2*i;R0=Ri;while(jv=n)if(jn&Rj.key=l;i-)sift(R,i,n);for(i=n;i=2;i-)R0=Ri;Ri=R1;R1=R0;sift(R,1,i-1);voidshow(seqlist&R,intn)inti,j,m;for(i=6;i=1;i-)Ri.paim=7-i;if(Ri.key=Ri+1.key)Ri.paim=Ri+1.paim;Ri.otherinfo;成绩为:Ri.key;名次为:只讣卩8讪6口小1;coutvv姓名为:coutvvcoutvvvoidmain()seqlistS;inti;charchl

12、,ch2;printf(请输入6个成绩:n);for(i=1;iv=N;i+)scanf(%d,&Si.key);printf(请输入6个学生姓名:n);for(i=1;iSi.otherinfo;ch1=y;while(ch1=yllch1=Y)printf(*菜单*n);printf(请选择下列操作:n);TOC o 1-5 h zprintf(1更新成绩n);printf(2快速排序n);printf(3希尔排序n);printf(4堆排序n);printf(5退出n);printf(请选择操作类型:n);scanf(n%c,&ch2);switch(ch2)case1:printf(请输出更新的成绩:n);for(i=1;i=N;i+)scanf(%d,&Si.key);break;case2:quicksort(S,1,N);

温馨提示

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

评论

0/150

提交评论