排序的实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
排序的实验报告   深圳大学实验报告   课程名称:   学院:   报告人   实验时间:   实验报告提交时间:   教务部制   一、实验目的   1、了解内排序都是在内存中进行的。   2、为了提高数据的查找速度,需要对数据进行排序。   3、掌握内排序的方法。   二、实验内容   1、设计一个程序exp10—实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。   源程序如下所示:   //文件名:   #include   #defineMAXE20//线性表中最多元素个数   typedefintKeyType;   typedefcharInfoType[10];   typedefstruct//记录类型   {   KeyTypekey;//关键字项   InfoTypedata;//其他数据项,类型为InfoType   }RecType;   voidInsertSort(RecTypeR[],intn)//对R[0..n-1]按递增有序进行直接插入排序   {   inti,j,k;   RecTypetemp;   for(i=1;i=0   #defineMAXE20//线性表中最多元素个数   typedefintKeyType;   typedefcharInfoType[10];   typedefstruct//记录类型   {   KeyTypekey;//关键字项   InfoTypedata;//其他数据项,类型为InfoType   }RecType;   voidShellSort(RecTypeR[],intn)//希尔排序算法   {   inti,j,d,k;   RecTypetemp;   d=n/2;//d取初值n/2   while(d0)   {   for(i=d;i=0R[j].keyR[j+d].key)   {   temp=R[j];//R[j]与R[j+d]交换   R[j]=R[j+d];   R[j+d]=temp;   j=j-d;   }   }   printf(d=%d:,d);//输出每一趟的排序结果   for(k=0;k 列   for(k=0;k   #defineMAXE20//线性表中最多元素个数   typedefintKeyType;   typedefcharInfoType[10];   typedefstruct//记录类型   {   KeyTypekey;//关键字项   InfoTypedata;//其他数据项,类型为InfoType   }RecType;   voidBubbleSort(RecTypeR[],intn)//冒泡排序算法   {   inti,j,k;   RecTypetemp;   for(i=0;ii;j--)//比较,找出本趟最小关键字的记录   if(R[j].keyR[j-1].key)   {   temp=R[j];//R[j]与R[j-1]进行交换,将最小关键字记录前移R[j]=R[j-1];   R[j-1]=temp;   }   printf(i=%d,冒出的最小关键字:%d,结果为:,i,R[i].key);//输出每一趟的排序结果   for(k=0;kn;k++)   printf(%2d,R[k].key);   printf(\n);   }   }   voidmain()   {   inti,k,n=10;   KeyTypea[]={9,8,7,6,5,4,3,2,1,0};   RecTypeR[MAXE];   for(i=0;in;i++)   R[i].key=a[i];   printf(初始关键字:);//输出初始关键字序列   for(k=0;kn;k++)   printf(%2d,R[k].key);   printf(\n);   BubbleSort(R,n);   printf(最后结果:);//输出初始关键字序列   for(k=0;kn;k++)   printf(%2d,R[k].key);printf(\n);   }   结果如下图所示:   天津职业技术师范大学《数据结构》课程设计1课程设计名称排序算法的比较概述排序是计算机程序设计中的一种重要操作.它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列.内部排序算法主要分为5大类,有十二个算法.插入排序类,交换排序类,选择排序类,归并排序类和基数排序类.算法主要包括:插入排序,折半插入排序,选择排序,冒泡排序,希尔排序,快速排序,堆排序,归并排序,基数排序等.2使用工具软件MicrosoftVisualC+

文档评论(0)

sanshengyuan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档