欢迎来到天天文库
浏览记录
ID:39569915
大小:86.50 KB
页数:7页
时间:2019-07-06
《内部排序算法的性能分析源程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、附录内部排序算法的性能分析源程序#include#include#include#include#include#defineMAX100//longMax;longdlta[10000];inta[MAX+1];intstore[MAX+1];longintcom0=0,mov0=0;longintcom4=0,mov1=0;longintcom5=0,mov2=0;doublet0,t1,t2;voidrandomizeNum(longn)//产生随机数,N代表产生随机数的个数{longi;for(
2、i=0;i=i+1;j--){if(r[j]
3、=pivotkey)){--high;com4++;}R[low]=R[high];mov4++;while((low4、h)&&(R[low]<=pivotkey)){++low;com4++;}R[high]=R[low];mov4++;}R[low]=pivotkey;mov4++;returnlow;}voidQSort(intR[],intn,intlow,inthigh){intpivotloc;if(low5、快速排序 比较次数等于 %ld,移动次数等于 %ld",com1,mov1);}//堆排序voidSift(intR[],ints,intm){//筛选算法inttemp,j;temp=R[s];mov5++;for(j=2*s;j<=m;j*=2){if((j=R[j])break;R[s]=R[j];mov5++;s=j;}R[s]=temp;mov5++;}voidHeapSort(intR[],longn){inti,temp;for(i=n/2;i>=0;i--)//初始建堆Sif6、t(R,i,n);for(i=n-1;i>=0;i--){temp=R[0];R[0]=R[i];R[i]=temp;mov4=mov5+3;Sift(R,0,i-1);}printf("堆排序 比较次数等于 %ld,移动次数等于 %ld",com2,mov2);}voidprint(inta,intnum[])//输出函数{inti;intk=0;printf("t_______________________________________________________________________");printf("t7、排序方法8、关键字比较次数9、关键字10、移动次数11、所需时间");for(i=0;i12、起泡排序%ld%ld%f13、",com0,mov0,t0);break;case1:printf("t14、快速排序%ld%ld%f
4、h)&&(R[low]<=pivotkey)){++low;com4++;}R[high]=R[low];mov4++;}R[low]=pivotkey;mov4++;returnlow;}voidQSort(intR[],intn,intlow,inthigh){intpivotloc;if(low5、快速排序 比较次数等于 %ld,移动次数等于 %ld",com1,mov1);}//堆排序voidSift(intR[],ints,intm){//筛选算法inttemp,j;temp=R[s];mov5++;for(j=2*s;j<=m;j*=2){if((j=R[j])break;R[s]=R[j];mov5++;s=j;}R[s]=temp;mov5++;}voidHeapSort(intR[],longn){inti,temp;for(i=n/2;i>=0;i--)//初始建堆Sif6、t(R,i,n);for(i=n-1;i>=0;i--){temp=R[0];R[0]=R[i];R[i]=temp;mov4=mov5+3;Sift(R,0,i-1);}printf("堆排序 比较次数等于 %ld,移动次数等于 %ld",com2,mov2);}voidprint(inta,intnum[])//输出函数{inti;intk=0;printf("t_______________________________________________________________________");printf("t7、排序方法8、关键字比较次数9、关键字10、移动次数11、所需时间");for(i=0;i12、起泡排序%ld%ld%f13、",com0,mov0,t0);break;case1:printf("t14、快速排序%ld%ld%f
5、快速排序 比较次数等于 %ld,移动次数等于 %ld",com1,mov1);}//堆排序voidSift(intR[],ints,intm){//筛选算法inttemp,j;temp=R[s];mov5++;for(j=2*s;j<=m;j*=2){if((j=R[j])break;R[s]=R[j];mov5++;s=j;}R[s]=temp;mov5++;}voidHeapSort(intR[],longn){inti,temp;for(i=n/2;i>=0;i--)//初始建堆Sif
6、t(R,i,n);for(i=n-1;i>=0;i--){temp=R[0];R[0]=R[i];R[i]=temp;mov4=mov5+3;Sift(R,0,i-1);}printf("堆排序 比较次数等于 %ld,移动次数等于 %ld",com2,mov2);}voidprint(inta,intnum[])//输出函数{inti;intk=0;printf("t_______________________________________________________________________");printf("t
7、排序方法
8、关键字比较次数
9、关键字
10、移动次数
11、所需时间");for(i=0;i12、起泡排序%ld%ld%f13、",com0,mov0,t0);break;case1:printf("t14、快速排序%ld%ld%f
12、起泡排序%ld%ld%f
13、",com0,mov0,t0);break;case1:printf("t
14、快速排序%ld%ld%f
此文档下载收益归作者所有