数据结构——内部排序算法比较.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构——内部排序算法比较

姓名__马瑞良_______________学号___0807100333_______ ____计网_______专业__083______班 ______2009______年____12_____月_____08____日 实验内容 内部排序算法比较 指导教师 实验内容 对各种内部排序算法进行比较 二、实验要求 (1)任意输入5组各10个数据; (2)对冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序的关键字比较和交换次数进行统计。 三、所需主要仪器及现有套数: 微机 台 软件: visual C++ 四、程序源码: #includeiostream using namespace std; struct Rec { int key; }; //直接插入排序 void instpass(Rec r[],int n,int m,int k) { cout直接插入排序结果是:\n; m=0;k=0; int i,j,x; for(i=2;i=n;i++) { r[0]=r[i]; j=i-1; x=r[i].key; while(m++,xr[j].key) { r[j+1]=r[j]; j--; }; r[j+1]=r[0]; k++; } } //冒泡排序 void bubbsort(Rec r[],int n,int m,int k) { cout冒泡排序结果是:\n; m=0;k=0; int i,j; Rec x; bool flag; for(i=1;i=n-1;i++) { flag=true; for(j=1;j=n-i;j++) if(m++,r[j].keyr[j+1].key) { flag=false; x=r[j]; r[j]=r[j+1]; r[j+1]=x; k++; }; if(flag) break; } } //直接选择排序 void selesort(Rec r[],int n,int m,int l) { m=0;l=0; cout直接选择排序结果是:\n; int i,j,k; Rec x; for(i=1;i=n-1;i++) { k=i; for(j=i+1;j=n;j++) if(m++,r[j].keyr[k].key) k=j; if(m++,i!=k) { x=r[i]; r[i]=r[k]; r[k]=x; l++; } }; } //快速排序 void qkpass(Rec r[],int s,int t,int i,int m,int k) { int j,x; Rec rp; i=s; j=t; rp=r[s]; x=r[i].key; while(m++,ij) { while(m++,(ij)(r[j].key=x)) j--; r[i]=r[j]; while(m++,(ij)(r[i].key=x)) i++; r[j]=r[i]; }; r[i]=rp; k++; } void qksort0(Rec r[],int s,int t,int m,int n) { int k; if(st) { qkpass(r,s,t,k,m,n); qksort0(r,s,k-1,m,n); qksort0(r,k+1,t,m,n); }; } void qksort(Rec r[],int n,int m,int k) { m=0;k=0; cout快速排序结果是:\n; qksort0(r,1,n,m,k); } //堆排序 void sift(Rec r[],int k,int m,int l,int n) { int i,j,x; Rec t; bool finished; i=k; j=2*i; t=r[k]; x=t.key; finished=false; while(l++,(j=m)(!finished)) { if(l++,(jm)(r[j].keyr[j+1].key)) j++; if(l++,x=r[j].key) finished=true; else { r[i]=r[j]; i=j; j=2*i; }; }; r[i]=t; } void heapsort(Rec

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档