实验七.排序.docVIP

  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文档。上传文档
查看更多
南昌大学实验报告 学生姓名: 唐建雄 学 号: 800606166 专业班级: 计算机软件064班 实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 2007.12.28 实验成绩: 一.实验名称 实验七.排序 二.实验目的   1.掌握各种排序的定义及其基本运算 2.掌握排序的使用方法 三. 实验内容 1.用直接排序法对序列排序 2.用直折半插入法对序列排序 3.用起泡排序法对序列排序 4.用选择排序法对序列排序 四.实验步骤 #include stdlib.h #include ctime #include iostream.h void CreatStable(int a[], int n) {//利用随机函数产生一个含有n个整数的数组a[],元素为a[1],…,a[n]。 int i; srand(time(0)); for(i=0;i=n;i++) a[i]=rand()%1000; } void disp(int a[],int low,int high) {//显示数组元素a[low],...,a[high]; int i; for(i=low;i=high;i++) couta[i] ; coutendl; } void InsertSortA(int a[ ],int n) {//对数组a[]的前n个元素采用直接插入排序进行排序5 for(int i=2;i=n;i++) if(a[i]a[i-1]) { a[0]=a[i]; a[i]=a[i-1]; for(int j=i-2;a[0]a[j];--j) a[j+1]=a[j]; a[j+1]=a[0]; } } void BinInsertSort(int a[ ], int n) {//对数组a[]的前n个元素采用折半插入排序进行排序 for(int i=2;i=n;i++) { a[0]=a[i]; int low=1,high=i-1; while(low=high) { int m=(low+high)/2; if(a[0]a[m])high=m-1; else low=m+1; } for(int j=i-1;j=high;--j)a[j+1]=a[j]; a[high+1]=a[0]; } } void BubbleSort(int a[ ], int n) {//对数组a[]的前n个元素采用起泡排序进行排序 for(int i=1;in;i++) for(int j=1;j=n-i;j++) if(a[j]a[j+1]) { a[0]=a[j]; a[j]=a[j+1]; a[j+1]=a[0]; } } int SelectMinkey(int a[],int n,int i) { int k=i; for(int j=i+1;j=n;j++) if(a[j]a[k]) k=j; return k; } void SelectionSort(int a[ ], int n) {//对数组a[]的前n个元素采用简单选择排序进行排序 for(int i=1;in;++i){ int j=SelectMinkey(a,n,i); if(i!=j){a[0]=a[i];a[i]=a[j];a[j]=a[0];} } } void main() {//验证上述函数的主函数。 int *pn,n; cout序列的元素个数为:; cinn; pn=new int[n+1]; CreatStable(pn, n); cout原始序列为:; disp(pn,1,n); InsertSortA(pn, n); cout进行直接插入排序序列:; disp(pn,1,n); int *qn,m; cout序列的元素个数为:; cinm; qn=new int[m+1]; CreatStable(qn, m); cout原始序列为:; disp(qn,1,m); BinInsertSort(qn, m); cout进行折半插入排序序列:; disp(qn,1,m); int *p,k; cout序列的元素个数为:; cink; p=new int[k+1]; CreatStable(p, k); cout原始序列为:; disp(p,1,k); BubbleSort(p, k); cout进行起泡排序序列:; disp(p,1,k); int *q,h; cout序列的元素个数为:; c

文档评论(0)

38号店铺 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档