实验3 内部排序算法比较

实验3 内部排序算法比较

ID:25492780

大小:98.00 KB

页数:9页

时间:2018-11-20

实验3  内部排序算法比较_第1页
实验3  内部排序算法比较_第2页
实验3  内部排序算法比较_第3页
实验3  内部排序算法比较_第4页
实验3  内部排序算法比较_第5页
资源描述:

《实验3 内部排序算法比较》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构实验报告实验3存储管理查找和排序题目:内部排序算法比较09927104陈驰一.需求分析1.本演示对一下6种常见的内部排序算法进行测试比较:起泡排序,直接插入排序,简单选择排序,快速排序,堆排序,二路归并排序2.待排序表的有元素的关键字为整数。用随机数的数据比较各算法的关键字比较次数和关键字的移动次数。3.演示程序以用户和计算机的对话方式执行,即在计算机终端机上显示“提示信息”,用户可由键盘输入待排序表的长度。每次测试完毕,列表显示各种比较指标值。二.概要设计为实现上述操作,应以结构数组作为存储结构。基本操作:suiji()操作结果:在输入你想要排序的个数之后,随机生成,并

2、保存在结构数组中,接着进行各个排序2.本程序包含三个模块:(1)主程序模块(主要用来输出排序后的结果);(2)各个可排序单元模块;(3)用来实行控制排序的jiuji()函数模块。三.详细设计1.元素类型:typedefstruct{intkey;}datatype;2.每个模块的分析:(1)主函数模块intmain(){printf("----------------------");suiji();printf("比较结果");printf("排序方式比较次数移动次数");printf("直接%d%d",cn[0],mn[0]);printf("简单选择%d%d

3、",cn[1],mn[1]);printf("冒泡%d%d",cn[2],mn[2]);printf("推排序%d%d",cn[3],mn[3]);printf("二路归并%d%d",cn[4],mn[4]);printf("快速排序%d%d",cn[5],mn[5]);return0;}(1)控制各个排序方法的模块voidsuiji(){longi,n;datatypeR[MAXNUM]={0};////定义结构数组printf("请输入你要输入d个数");scanf("%d",&n);if(n>500000){printf("超出范围重新输入");

4、scanf("%d",&n);}for(i=1;i<=n;i++)R[i].key=rand()%1000;printf("排序前的元素顺序");for(i=1;i

5、n);}(2)完整代码#include#include#include#defineMAXNUM10000longcn[MAXNUM],mn[MAXNUM];typedefstruct{intkey;}datatype;voidD_InsertSort(datatypeR[],longn)//直接排序{longi,j;for(i=2;i<=n;i++){cn[0]++;if(R[i].key

6、=R[j];R[j+1]=R[0];mn[0]+=2;}}}voidSelect_Sort(datatypeR[],longn)//简单选择排序{longi,j,k;for(i=1;i

7、+){cn[2]++;if(R[j].keyR[j].key)b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。