数据结构c语言设计,比较各种排序方法的效率.doc

数据结构c语言设计,比较各种排序方法的效率.doc

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

课程设计说明书 设计名称: 程序设计语言强化课程设计 题 目: 比较各种排序方法的效率 学生姓名: 梁汉荣 专 业: 网络工程 班 级: 10网络工程 2 学 号: 2010394236 指导教师: 顾艳春 日 期: 2012 年 3 月 8日 课程设计任务书 设计题目 比较各种排序方法的效率 主要内容 选择四种以上的排序方法,采用随机生成的数据,登记并比较各个排序方法的比较次数和交换次数,验证各个排序方法效率的理论分析的结果。 具体要求 围绕课程设计的目的和意义,基本要求如下: 每次随机生成的数据不小于100个 采用顺序存储结构,登记多次结果 经过大量的统计计算,给出各种排序方法的平均效率的比较。 把统计结果与理论分析结论进行对照。 进度安排 1、资料查找、系统分析,概要设计;时间安排2天 2、系统详细设计、功能设计;时间安排2天 3、算法实现、编程调试;时间安排5-7天 4、资料整理、课程设计说明书编写。时间安排1天 完成后应上交的材料 1、课程设计说明书(所使用的数据结构说明、程序流程图、功能模块图、核心算法等) 2、相关源程序文件 总评成绩 指导教师 签名日期 年 月 日 系 主 任 审核日期 年 月 日 目 录 一、设计任务的主要算法分析……………………………………………1 1.1主要算法具体分析 ………………………………………………2 二、程序的流程图…………………………………………………………3 各种排序算法的N-S图……………………………………3 1.总流程图模块………………………………………… 3 2.直接插入排序模块…………………………………………4 3.冒泡排序模块 …………………………………………5 4.简单选择模块……………………………………………5 5.快速排序模块 ……………………………………6 6.堆排序模块 ………………………………………6 三、各个模块的源代码 …………………………………………………7 3.1各种排序算法………………………………………………7 1.直接插入排序函数…………………………………………7 2.冒泡排序函数……………………………………………… 8 3.简单选择排序函数…………………………………………9 4.快速排序函数……………………………………………… 10 5.堆排序函数………………………………………………… 11 6. 输出函数…………………………………………………… 13 7.随机生成函数………………………………………………… 13 8.主函数………………………………………………… 16 四、程序运行效果图 ……………………………………………………20 4.1登陆画面 ………………………………………………20 4.2 各种排序结果显示画面(100个数据随机生成5次)…21 4.3总的、平均的比较次数和交换次数显示画面(100个数据随机 生成5次)………………………………………………………………23 4.4总的、平均的比较次数和交换次数显示画面(1000个数据随机生成100次)……………………………………………………24 五、使用说明……………………………………………………………24六、设计心得 …………………………………………………………24 6.1 课程设计中遇到的主要问题和解决方法 …………………24 6.2 本程序的创新和得意之处 …………………………………25 6.3 设计中存在的不足及改进的设想 …………………………25 6.4 本次课程设计的感想和心得体会…………………………25 算法分析 直接插入排序:将记录插入到已排好序的有序表中,得到一个新的,记录数增加的有序表。 冒泡排序:是基于交换排序的一种算法。它是依次两两比较待排序元素;若为逆序(递增或递减)则进行交换,将待排序元素从左至一遍称为一趟“冒泡”。 每趟冒泡都将待排序列中的最大关键字交换到最后位置直到全部元素有序为止。srand((unsigned)time(NULL))随机生成数据并使用不同排序方法排序。 定义结构体数组 typedef int keytype; //定义关键字类型为整型 typedef struct{ keytype key; }datatype;

文档评论(0)

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

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

1亿VIP精品文档

相关文档