- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息技术与工程系
《数据结构》课程设计报告
题 目: 数据结构多种排序的实现
专 业: 计算机控制技术
班 级:
姓 名:
学 号:
指导老师:
设计时间:2011年 1 月 5 日 ~ 2011 年 1 月 11 日
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc232930940 《数据结构》课程设计报告 PAGEREF _Toc232930940 \h 1
HYPERLINK \l _Toc232930941 1.课程设计计划 PAGEREF _Toc232930941 \h 3
HYPERLINK \l _Toc232930942 2.系统需求分析与功能设计 PAGEREF _Toc232930942 \h 3
HYPERLINK \l _Toc232930943 3. 总体设计 PAGEREF _Toc232930943 \h 4
HYPERLINK \l _Toc232930944 4. 程序模块设计 PAGEREF _Toc232930944 \h 5
HYPERLINK \l _Toc232930945 5. 技术难点与分析 PAGEREF _Toc232930945 \h 6
HYPERLINK \l _Toc232930946 6.系统测试 PAGEREF _Toc232930946 \h 7
HYPERLINK \l _Toc232930947 7. 心得体会 PAGEREF _Toc232930947 \h 8
HYPERLINK \l _Toc232930948 8. 系统实现源代码 PAGEREF _Toc232930948 \h 9
1.课程设计计划
(1)、选题——排序(2人)
(2)、通过咨询指导老师了解排序程序的设计方法及查阅资料找出设计程序的相关信息。
(3)、从单个模块程序入手,分别设计并调试四个单子程序:直接插入排序、冒泡排序、快速排序、堆排序。并逐步实现其功能。
(4)、将四个单子程序合并,通过编写主函数来调用四个单子程序。
(5)、对合并成的总程序进行调试。
(6)、对调试过程中出现的错误进行改正,直到程序没有错误。
(7)、对程序的功能和出现的错误进行分析。
(8)、编写实训报告,完成实训任务。
2.系统需求分析与功能设计)
需求分析:
设计一个排序信息管理系统,使之能够操作实现以下功能:
1) 显示需要输入的排序长度及其各个关键字
2) 初始化输入的排序序列
3) 显示可供选择的操作菜单
4) 显示输出操作后的移动次数和比较次数
5) 显示操作后的新序列
5) 可实现循环继续操作
功能设计:
1、直接插入排序
直接插入排序是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表
有序序列r[1
有序序列r[1……i-1]
无序系列r[i……n]
r[i]
有序序列r[1……i] 无序系列r[i+1……n]
将第i个记录的关键字r[i].key顺序地与前面记录的关键字r[i-1].key,r[i-2].key,……,r[1].key进行比较,把所有关键字大于r[i].key的记录依次后移一位,直到关键字小于或者等于r[i].key的记录r[j],直接将r[i]插入到r[j]后面,循环以上过程直到最后一个纪录也插入到合理的位置。整个排序过程是从第2个记录开始的,视第1个记录为已经排好序的集合。
2、冒泡排序
13.25 13.15 13.02 12.92 12.95 13.10交换 冒泡排序是对所有相邻的记录进行比较,若这两个元素刚好与排序结果逆序,则将这两个元素的位置进行交换。
13.25 13.15 13.02 12.92 12.95 13.10
交换
13.15 13.25 13.02 12.92 12.95 13.10交换
13.15 13.25 13.02 12.92
文档评论(0)