第7章数据结构算法.pptVIP

  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文档。上传文档
查看更多
while(jh) {r2[k]=r[j];j++;k++;} while(i=m) {r2[k]=r[i];i++;k++;} output(r2,M);} private: sqlist r; }; void main() {coutguibingfa1.cpp运行结果:\n; sqlist a,b;int i,j=0,k=M/2,n=M; srand(time(0)); for(i=0;iM;i++) {a[i].key=rand()%80;b[i].key=0;} guibing gx(a); cout排序前数组:\n; gx.output(a,M); cout数组排序的过程演示:\n; gx.merge(j,k,n,b); cout排序后数组:\n; gx.output(b,M);cin.get();} 单击此处运行程序 7、22 归并排序法(guibingfa2.cpp) #includeiostream.h #includeiomanip.h #includestdlib.h #includetime.h #define M 11 typedef int KeyType; typedef int ElemType; struct rec { KeyType key;ElemType data;}; typedef rec sqlist[M]; void output(sqlist r,int n) {for(int i=0;in;i++) coutsetw(4)r[i].key; coutendl;} void xuanze(sqlist b,int m,int n) {int i,j,k; for(i=m;in-1;i++) {k=i; for(j=i;jn;j++) if(b[k].keyb[j].key) k=j; if(k!=i) {rec temp=b[k]; b[k]=b[i];b[i]=temp;}}} void merge(sqlist r,int l,int m,int h,sqlist r2) {xuanze(r,l,m); xuanze(r,m,h); output(r,M); int i,j,k; k=i=l; for(j=m;imjh;k++) {if(r[i].key=r[j].key) {r2[k]=r[i];i++;} else {r2[k]=r[j];j++;} output(r2,M);} while(jh) {r2[k]=r[j];j++;k++;} while(i=m) {r2[k]=r[i];i++;k++;} 单击此处运行程序 output(r2,M);} void main() {coutguibingfa2.cpp运行结果:\n; sqlist a,b;int i,j=0,k=M/2,n=M; srand(time(0)); for(i=0;iM;i++) {a[i].key=rand()%80;b[i].key=0;} cout排序前数组:\n; output(a,M); cout数组排序的过程演示:\n; merge(a,j,k,n,b); cout排序后数组:\n; output(b,M);cin.get();} 7、23 堆排序法(类方法)(duifa1.cpp) #includeiostream.h #includeiomanip.h #includestdlib.h #includetime.h #define M 11 typedef int KeyType; typedef int ElemType; struct rec { KeyType key;ElemType data;}; typedef rec sqlist[M]; class duifa { public: duifa(sqlist b) {for(int i=1;iM;i++) r[i]=b[i];} void output() {for(int i=1;iM;i++) coutsetw(4)r[i].key; coutendl;} void sift(int s,int m) {int j;rec x; x=r[s]; for(j=2*s;j=m;j*=2) {if(jm(r[j].keyr[j+1].key)) ++j; if(!(x.keyr[j].key)) break; r[s]=r[j];s=j;} r[s]=x;

文档评论(0)

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

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

1亿VIP精品文档

相关文档