欢迎来到天天文库
浏览记录
ID:35627163
大小:115.00 KB
页数:14页
时间:2019-04-03
《排序算法课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、排序算法课程设计专业班级学号姓名指导老师一:课程设计的目的1.掌握各种排序的基本思想2.掌握各种排序的算法实现3.掌握各种排序的算法优劣分析花费的时间计算4.掌握各种排序算法所适用的不同场合。二:课程设计的内容(1)冒泡、直插、选择、快速、希尔、归并、堆排序算法进行比较;(2)待排序的元素的关键字为整数。其中的数据用伪随机产生程序产生(如10000个,1000个),再使用各种算法对其进行排序,记录其排序时间,再汇总比较;(3)将每次测试所用的时间,用条形图进行表示,以便比较各种排序的优劣。三:课程设计的实现(1)直接插入排序#includetypedefin
2、tkeytype;structdatatype{keytypekey;};/*intrand(void);voidsrand(unsignedintseed);*/#include#include#include#includevoidInsertSort(datatypea[],intn)//用直接插入法对a[0]--a[n-1]排序{inti,j;datatypetemp;for(i=0;i-1&&temp.key<=a[j].key)
3、{a[j+1]=a[j];j--;}a[j+1]=temp;}}voidmain(){/*srand((unsigned)time(NULL));//随机种子*//*time_tt;srand((unsigned)time(&t));*/time_tt1,t2;srand((unsigned)GetCurrentTime());datatypenum[10000];t1=GetCurrentTime();for(inti=0;i<10000;i++){num[i].key=rand();}intn=10000;InsertSort(num,n);for(intj=0;j<10000
4、;j++)cout</*intrand(void);voidsrand(unsignedintseed);*/#include#include#include#includetypedefintkeytype;structd
5、atatype{keytypekey;};voidShellSort(datatypea[],intn,intd[],intnumOfD)//用希尔排序法对记录a[0]--a[n-1]排序//各组内采用直接插入法排序{inti,j,k,m,span;datatypetemp;for(m=0;m-1&&temp.key<=a[j].key){a[j+span]=a[j];j=j-span;}a
6、[j+span]=temp;}}}}voidmain(){/*srand((unsigned)time(NULL));//随机种子*//*time_tt;srand((unsigned)time(&t));*/time_tt1,t2;srand((unsigned)GetCurrentTime());datatypenum[10000];t1=GetCurrentTime();for(inti=0;i<10000;i++){num[i].key=rand();}intn=10000,d[]={1000,100,10,1},numOfd=4;ShellSort(num,n,d,num
7、Ofd);for(intj=0;j<10000;j++)cout<typedefintkeytype;structdatatype{keytypekey;};/*intrand(v
此文档下载收益归作者所有