网站大量收购独家精品文档,联系QQ:2885784924

数据结构课程设计--内部排序算法的比较.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计--内部排序算法的比较

数据结构课程设计          题目:  内部排序算法的比较        姓名:  李吉倩        学号:  020332010046        系年级: 计算机科学与技术2010级        完成时间:2012.8-2012.9 实验报告    需求分析 本程序对以下六种常用的内部排序进行实测比较:起泡排序、直接插入 排序、简单选择排序、快速排序、希尔排序、堆排序。 2.待排序表的元素的关键字为整数,雍正徐、逆序和随机数产生器产生的随机数做测试比较。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换记为3次移动)。 3.程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”下,用户可由键盘输入产生随机数的种子,计算机终端显示各内部排序的比较参数。 4.最终对结果做出简单分析,包括对各组数据得出结果波动大小给予解释。 二、概要设计 1.可排序表的抽象数据类型定义: ADT OrderableList {   数据对象:D = {ai |ai ∈IntegerSet,i = 1,2,……,n,n = 0}   数据关系:R1 = {ai-1,ai|ai-1,ai ∈D.i = 2,……,n}   基本操作:    SelectListType(c)    操作结果:打印提示信息,请用户选择待排序表的类型,顺序型、 逆序型还是随机数组。    BubbleSort(L)    操作结果:进行起泡排序,返回排序后的顺序表    InsertSort(L)    操作结果:进行插入排序,返回排序后的顺序表    SelectSort(L)    操作结果:进行选择排序,返回排序后的顺序表    QuickSort(L)    操作结果:进行快速排序,返回排序后的顺序表    ShellSort(L)    操作结果:进行希尔排序,返回排序后的顺序表    HeapSort(L)    操作结果:进行堆排序,返回排序后的顺序表    SelectSortMethod(L,c1)    操作结果:打印提示信息,请用户选择排序方法,起泡排序、插入         排序、选择排序、快速排序、希尔排序还是堆排序 OutPut(L)    操作结果:打印排序中关键字的比较次数和移动次数 }ADT OrderableList 本程序包含两个模块:  1).主程序模块  int mian()  {     初始化; 用户选择待测表的类型; 输入选择,用switch语句判断; While(“命令” != “退出”) { 接受命令; 处理命令; }  }  2).可排序表单元模块----实现可排序表的抽象数据类型 各模块之间的调用关系: 主程序模块 可排序表单元模块 三、详细设计 1.根据题目要求何可排序表的基本操作特点,可排序表采用证书顺序表存储结构,并实现在头文件SqList.H。 //******************基本操作的函数原型******************\\ #define MAXSIZE 20 //用作示例的顺序表的最大长度 typedef int KeyType; //定义关键字为整数类型 typedef int InfoType; //定义其他数据项也为整数类型 int time_key_compare = 0; //定义全局变量,关键字比较次 int time_key_move = 0; //数和移动次数均为0 typedef struct { KeyType key; //关键字项 InfoType otherinfo; //其他数据项 }RedType; //记录类型 typedef struct { RedType r[MAXSIZE + 1]; //r[0]闲置或用做哨兵 int length; //顺序表长度 }SqList; //顺序表类型 //****************************基本操作********************

您可能关注的文档

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档