欢迎来到天天文库
浏览记录
ID:15297386
大小:148.50 KB
页数:17页
时间:2018-08-02
《内部排序算法效率比较平台的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、河北工业大学《数据结构》课程实验实验报告题目:内部排序算法效率比较平台的设计与实现专业:计算机科学与技术班级:姓名:学号:完成日期:一、试验内容各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。设计和实现内部排序算法效率比较平台,通过随机的数据比较各算法的关键字比较次数和关键字移动次数,以取得直观的感受。二、试验目的掌握多种排序方法的基本思想,如直接插入、冒泡、简单选择、快速、堆、希尔排序等排序方法,并能够用高级语言实现。三、源程序代码#include#in
2、clude#include#definele100structpoint{charkey[11];};//冒泡法voidmaopao(pointc[]){pointa,b[le];inti,j,jh=0,bj=0,q;for(i=0;ii;j--){bj=bj+1;q=strcmp(b[i].key,b[j].key);if(q==1){a=b[i];b[i]=b[j
3、];b[j]=a;jh=jh+3;};};};cout<<"冒泡法:"<4、i=0;i5、;jh=jh+1;};};cout<<"直接插入排序:"<6、i++){q=strcmp(c[i].key,c[i-dk].key);d[0]=d[0]+1;if(q==-1){a=c[i];q=strcmp(a.key,c[i-dk].key);d[0]=d[0]+1;d[1]=d[1]+1;for(j=i-dk;j>0&&q==-1;j=j-dk){c[j+dk]=c[j];d[1]=d[1]+1;q=strcmp(a.key,c[j-dk].key);};c[j+dk]=a;d[1]=d[1]+1;};};};voidshellsort(pointc[],intd7、lta[],intt){intk,d[2],i;d[0]=0;d[1]=0;pointb[le+1];for(k=0;k8、"***************************"<
4、i=0;i5、;jh=jh+1;};};cout<<"直接插入排序:"<6、i++){q=strcmp(c[i].key,c[i-dk].key);d[0]=d[0]+1;if(q==-1){a=c[i];q=strcmp(a.key,c[i-dk].key);d[0]=d[0]+1;d[1]=d[1]+1;for(j=i-dk;j>0&&q==-1;j=j-dk){c[j+dk]=c[j];d[1]=d[1]+1;q=strcmp(a.key,c[j-dk].key);};c[j+dk]=a;d[1]=d[1]+1;};};};voidshellsort(pointc[],intd7、lta[],intt){intk,d[2],i;d[0]=0;d[1]=0;pointb[le+1];for(k=0;k8、"***************************"<
5、;jh=jh+1;};};cout<<"直接插入排序:"<6、i++){q=strcmp(c[i].key,c[i-dk].key);d[0]=d[0]+1;if(q==-1){a=c[i];q=strcmp(a.key,c[i-dk].key);d[0]=d[0]+1;d[1]=d[1]+1;for(j=i-dk;j>0&&q==-1;j=j-dk){c[j+dk]=c[j];d[1]=d[1]+1;q=strcmp(a.key,c[j-dk].key);};c[j+dk]=a;d[1]=d[1]+1;};};};voidshellsort(pointc[],intd7、lta[],intt){intk,d[2],i;d[0]=0;d[1]=0;pointb[le+1];for(k=0;k8、"***************************"<
6、i++){q=strcmp(c[i].key,c[i-dk].key);d[0]=d[0]+1;if(q==-1){a=c[i];q=strcmp(a.key,c[i-dk].key);d[0]=d[0]+1;d[1]=d[1]+1;for(j=i-dk;j>0&&q==-1;j=j-dk){c[j+dk]=c[j];d[1]=d[1]+1;q=strcmp(a.key,c[j-dk].key);};c[j+dk]=a;d[1]=d[1]+1;};};};voidshellsort(pointc[],intd
7、lta[],intt){intk,d[2],i;d[0]=0;d[1]=0;pointb[le+1];for(k=0;k8、"***************************"<
8、"***************************"<
此文档下载收益归作者所有