- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计说明书
设计名称: 程序设计语言强化课程设计题 目: 比较各种排序方法的效率
学生姓名: 梁汉荣专 业: 网络工程
班 级: 10 网络工程 2
学 号: 2010394236
指导教师: 顾艳春
日 期: 2012 年 3 月 8 日
课程设计任务书
一、 设计题目
比较各种排序方法的效率
二、 主要内容
选择四种以上的排序方法,采用随机生成的数据,登记并比较各个排序方法的比较次数和交换次数,验证各个排序方法效率的理论分析的结果。
三、 具体要求
围绕课程设计的目的和意义,基本要求如下: 每次随机生成的数据不小于 100 个
采用顺序存储结构,登记多次结果
经过大量的统计计算,给出各种排序方法的平均效率的比较。把统计结果与理论分析结论进行对照。
四、 进度安排
1、资料查找、系统分析,概要设计;时间安排 2 天
2、系统详细设计、功能设计;时间安排 2 天
3、算法实现、编程调试;时间安排 5-7 天
4、资料整理、课程设计说明书编写。时间安排 1 天
五、 完成后应上交的材料
1、课程设计说明书(所使用的数据结构说明、程序流程图、功能模块图、核心算法等)
2、相关源程序文件
六、 总评成绩
指导教师
签名日期
年
月
日
系 主 任
审核日期
年
月
日
目 录
一、设计任务的主要算法分析… 1
主要算法具体分析 2
二、程序的流程图… 3
各种排序算法的 N - S 图 3
1. 总流程图模块………………………………………… 3
2. 直接插入排序模块………………………………………… 4
3. 冒泡排序模块 ………………………………………… 5
4. 简单选择模块…………………………………………… 5
快速排序模块 6
堆排序模块 6
三、各个模块的源代码 7
3.1 各种排序算法……………………………………………… 7
1. 直接插入排序函数………………………………………… 7
2. 冒泡排序函数……………………………………………… 8
3. 简单选择排序函数………………………………………… 9
4.快速排序函数……………………………………………… 10
5.堆排序函数………………………………………………… 11
输出函数… 13
随机生成函数… 13
8. 主函数… 16
四、程序运行效果图 20
4.1 登陆画面 ……………………………………………… 20
各种排序结果显示画面( 100 个数据随机生成 5 次)…21
总的、平均的比较次数和交换次数显示画面(100 个数据随机
生 成 5 次)… 23
总的、平均的比较次数和交换次数显示画面(1000 个数据随机生成 100 次)…………………………………………………… 24
五、使用说明… 24
六、设计心得 24
课程设计中遇到的主要问题和解决方法 24
本程序的创新和得意之处 25
设计中存在的不足及改进的设想 25
本次课程设计的感想和心得体会… 25
佛山科学技术学院课程设计用纸
佛山科学技术学院课程设计用纸
PAGE
PAGE 2
主程序一.算法分析
主程序
直
冒
简
快
堆
随
接
泡
单
速
排
机
插
排
选
排
序
生
入
序
择
序
成
直接插入排序:将记录插入到已排好序的有序表中,得到一个新的, 记录数增加的有序表。
冒泡排序:是基于交换排序的一种算法。它是依次两两比较待排序元素;若为逆序(递增或递减)则进行交换,将待排序元素从左至右比较一遍称为一趟“冒泡”。 每趟冒泡都将待排序列中的最大(小)关键字交换到最后位置,直到全部元素有序为止。
简单选择排序:令 i 从 1 至 n-1,进行 n-1 趟选择操作。
快速排序:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,已达到整个序列有序。
堆排序:使记录序列按关键字非递减有序排列,则在堆排序的算法中先建一个“大顶堆”,即先选得一个关键字为最大的记录并与序列中最后一个记录交换,然后对序列中前 n-1 记录进行筛选,重新将它调整为一个“大顶堆”,如此反复直至排序结束。
随机生成函数:用 srand((unsigned)time(NULL))随机生成数据并使用
不同排序方法排序。定义结构体数组
typedef int keytype; //定义关键字类型为整型typedef struct{
keytype key;
}datatype; //记录类型
datatype R[MAXSIZE]; //定义结构体数组
1.1 主要算法具体分析:
这个排序算法设计个以静态结构体应用为基础加上 C 的基础语法一起的一个综合系统程序。
主程序是 goto 语句和 for 循环的应用
直接插入函数是一个将记录插入到
您可能关注的文档
最近下载
- 甘肃省庆阳市2024-2025学年八年级上学期语文期末试卷.docx
- 主动脉夹层诊断与治疗规范中国专家共识.pdf VIP
- 石油天然气开采行业安全生产知识培训课件.pptx
- 必修11:混合研究方法最新修改.pdf VIP
- 浅谈针织毛衫设计方法与实现.doc VIP
- 九成宫醴泉铭原版碑帖米字格(全).docx
- 2013年速编制现金流量表(自动生成).doc VIP
- 2025年黑龙江高中学业水平合格性考试英语试卷真题.pdf VIP
- ISO 9001(DIS)-2026《质量管理体系要求》中英文标准对照版(2025年9月).docx VIP
- ISO 9001(DIS)-2026《质量管理体系——要求》(含附录使用指南-中文版-译-2025年9月).docx VIP
原创力文档


文档评论(0)