欢迎来到天天文库
浏览记录
ID:47491127
大小:110.50 KB
页数:9页
时间:2020-01-12
《实验十二 排序技术实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、特殊线性表实验十二排序技术实验一、实验目的⑴掌握各种排序算法的基本思想;⑵掌握各种排序算法的实现方法;⑶掌握各种排序算法的时间性能及其花费时间的计算。⑷掌握各种排序算法所适应的不同场合。二、实验内容1、随机函数产生10000个随机数,用直接插入、希尔、冒泡、直接选择等排序方法排序,并统计每一种排序所花费的时间。2、随机函数产生30000个随机数,用快速、堆、归并等排序方法排序,并统计每一种排序所花费的时间。三、设计与编码#include#include#includeusingnamespacestd;void
2、ShuChu(intr[],intn){cout<<"输出:";for(inti=0;i3、tr[],intn)//希尔排序{inta=r[0];for(intd=n/2;d>=1;d=d/2)特殊线性表{for(inti=d+1;i<=n-1;i++){r[0]=r[i];for(intj=i-d;j>0&&r[0]4、j]>r[j+1]){ints=r[j+1];r[j+1]=r[j];r[j]=s;exchange=j;}}}voidSelectSort(intr[],intn)//选择排序{for(inti=0;i5、线性表inti=first;intj=end;r[0]=r[i];intp=r[i];while(i6、,first,end);QuickSort(r,first,pivot-1);QuickSort(r,pivot+1,end);}r[0]=a;}voidSift(intr[],intk,intm)//筛选法调整堆的算法{inti=k;intj=2*i;while(j<=m){if(j=r[j])break;else{特殊线性表inta=r[j];r[j]=r[i];r[i]=a;i=j;j=2*i;}}}voidHeapSort(intr[],intn)//堆排序算法{for(inti=n/2;i>=1;i-7、-)Sift(r,i,n-1);for(i=2;i
3、tr[],intn)//希尔排序{inta=r[0];for(intd=n/2;d>=1;d=d/2)特殊线性表{for(inti=d+1;i<=n-1;i++){r[0]=r[i];for(intj=i-d;j>0&&r[0]4、j]>r[j+1]){ints=r[j+1];r[j+1]=r[j];r[j]=s;exchange=j;}}}voidSelectSort(intr[],intn)//选择排序{for(inti=0;i5、线性表inti=first;intj=end;r[0]=r[i];intp=r[i];while(i6、,first,end);QuickSort(r,first,pivot-1);QuickSort(r,pivot+1,end);}r[0]=a;}voidSift(intr[],intk,intm)//筛选法调整堆的算法{inti=k;intj=2*i;while(j<=m){if(j=r[j])break;else{特殊线性表inta=r[j];r[j]=r[i];r[i]=a;i=j;j=2*i;}}}voidHeapSort(intr[],intn)//堆排序算法{for(inti=n/2;i>=1;i-7、-)Sift(r,i,n-1);for(i=2;i
4、j]>r[j+1]){ints=r[j+1];r[j+1]=r[j];r[j]=s;exchange=j;}}}voidSelectSort(intr[],intn)//选择排序{for(inti=0;i5、线性表inti=first;intj=end;r[0]=r[i];intp=r[i];while(i6、,first,end);QuickSort(r,first,pivot-1);QuickSort(r,pivot+1,end);}r[0]=a;}voidSift(intr[],intk,intm)//筛选法调整堆的算法{inti=k;intj=2*i;while(j<=m){if(j=r[j])break;else{特殊线性表inta=r[j];r[j]=r[i];r[i]=a;i=j;j=2*i;}}}voidHeapSort(intr[],intn)//堆排序算法{for(inti=n/2;i>=1;i-7、-)Sift(r,i,n-1);for(i=2;i
5、线性表inti=first;intj=end;r[0]=r[i];intp=r[i];while(i6、,first,end);QuickSort(r,first,pivot-1);QuickSort(r,pivot+1,end);}r[0]=a;}voidSift(intr[],intk,intm)//筛选法调整堆的算法{inti=k;intj=2*i;while(j<=m){if(j=r[j])break;else{特殊线性表inta=r[j];r[j]=r[i];r[i]=a;i=j;j=2*i;}}}voidHeapSort(intr[],intn)//堆排序算法{for(inti=n/2;i>=1;i-7、-)Sift(r,i,n-1);for(i=2;i
6、,first,end);QuickSort(r,first,pivot-1);QuickSort(r,pivot+1,end);}r[0]=a;}voidSift(intr[],intk,intm)//筛选法调整堆的算法{inti=k;intj=2*i;while(j<=m){if(j=r[j])break;else{特殊线性表inta=r[j];r[j]=r[i];r[i]=a;i=j;j=2*i;}}}voidHeapSort(intr[],intn)//堆排序算法{for(inti=n/2;i>=1;i-
7、-)Sift(r,i,n-1);for(i=2;i
此文档下载收益归作者所有