三种排序及其比较报告_第1页
三种排序及其比较报告_第2页
三种排序及其比较报告_第3页
全文预览已结束

下载本文档

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

文档简介

1、三种排序及其比较实验报告(1) 、实验题目通过快速排序,折半排序,希尔排序三种方法进行排序数据,并统计每一种排序在过程中 对整数的比较次数和移动次数,并输出结果。(2) 实验项目组成该程序由主函数 main()和子函数 quicksort (), shellsort (), binSort()组成。(3 )实验项目的程序结构:结束(4 )函数的功能描述quicksort nt a,i nt l,i nt r,i nt *u1,i nt *v1)快速排序算法shellsort(i nt a,i nt n) shellbinSort(int a,int n) 2(5)实验数据与实验结果 测试数据:

2、在main ()排序算法分插入排序算法函数里面可以事先给定要排序的整数,这里给的是11,3,28,52,46,32,66,88 等 8 个非顺序数据实验结果见下图:(6)算法描述:#i nclude "stdio.h"快速排序*/#in clude "coni o.h"quicksort(int a,int l,int r,int *u1,int *v1)/*int i,j,temp,k=O,u,v;i=l; j=r;temp=ai;if(l>=r) return;while(i!=j)while(aj>=temp&&i<

3、;j) j-;*u1=*u1+1;if(i<j) ai=aj; *v 1=*v1+1; i+; while(ai<temp&&<j) i+;*u1=*u1+1;if(i<j) aj=ai;*v 1=*v1+1;j-;ai=temp;quicksort(a,l,i-1,u1,v1);quicksort(a,i+1,r,u1,v1);void shellsort(int a,int n) /*希尔排序 */int d,i,j,x,y , temp,v;x=0; y=0 ;for(d=n/2;d>0;d=d/2) for(i=d;i<n;i+)te

4、mp=ai;j=i-d;while(j>=0 && temp<aj)aj+d=aj;y+;j=j-d;x+ ;aj+d=temp;printf("n the number of compare x=%d ",x); printf("n the number of move y=%dn ",y);for(v=0;v<=7;v+) printf("%5d",av);printf("n");void binSort(int a,int n) /* 折半插入排序 */ int i,j,lo

5、w,hight,mid,m=0,k =0 ;int v;int temp;for(i=1;i<n;i+)temp=ai;low=0; hight=i-1;while(low<=hight)mid=(low+hight)/2;if (temp<amid)hight=mid-1;else low=mid+1;m+;for(j=i-1;j>=low;j-)aj+1=aj; k+;if(low!=i) k+;alow=temp;printf("the number of compare m=%dn",m);printf("the number of

6、 move k=%dn",k);for(v=0;v<=7;v+) printf("%8d",av); void main()int i,j,k,v;int *u1=2,*v1 =0;int a8=11,3,28,52,46,32,66,88;int b8=11,3,28,52,46,32,66,88;int c8=11,3,28,52,46,32,66,88;printf("binSortn");printf("n");binSort(a,8);printf("n");printf("shellSortn");shellsort(b,8);printf("n");printf("quickSortn");printf("n");quicksort(c,0,8,u1,v1);for(v=0;v<=7;v+) printf("%5d",av);printf("

温馨提示

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

评论

0/150

提交评论