- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
排序程序设计
课 程 设 计 报 告
(2013 -2014第2学期)
课程设计类型: 软硬件设计
题 目: 通用排序程序
学 号: 121001260809
姓 名: 胡柳
专 业: 自动化,中美互认
指 导 教 师: 李建敦
课程设计日期: 2014.06.16—2014.06.20
目录
1. 课题分析 1
1.1 背景介绍 1
1.2 需求分析 1
2. 总体设计 3
2.1 总体思路 3
2.2 相关技术 3
3. 详细设计 4
3.1 设计原则 4
3.2 模块设计 4
4. 实现与测试 5
4.1 实现环境 5
4.2 模块实现 5
4.3测试 6
5. 总结与展望 7
5.1 总结 7
5.2 展望 7
参考文献 9
附录 10
答辩记录 13
1. 课题分析
1.1 背景介绍
排序是数据处理中经常使用的一种重要运算。设文件由n个记录{R1,R2,,,,Rn}组成,如n个学生记录,每个学生记录包括学号、姓名、班级等。n个记录对应的关键字集合为{K1,K2,,,,,Kn},如学生的学号。所谓排序就是将这n个记录按关键字大小递增或递减重新排列。
当待排序记录的关键字均不相同时,排序结果是唯一的,否则排序结果不唯一。如果文件中关键字相同的记录经过某种排序方法进行排序后,仍能保持它们在排序之前的相对次序,则称这种排序方法是稳定的;否则,这种排序方法是不稳定的。
由于文件大小不同使排序过程中涉及的储存器不同,可将排序分成内部排序和外部排序两类。整个排序过程都在内存进行的排序,称为内部排序;反之,若排序过程中要进行数据的内、外存交换,则称之为外部排序。内排序适用于记录个数不是很多的小文件,而外排序则适用于记录个数太多,不能一次性放入内存的大文件。 按策略划分,内部排序方法可以分为五类:插入排序、选择排序、交换排序、归并排序和分配排序。几乎所有的排序都有两个基本的操作:
(1)关键字大小的比较。
(2)改变记录的位置。具体处理方式依赖于记录的存储形式,对于顺序型记录,一般移动记录本身,而链式存储的记录则通过改变指向记录的指针实现重定位。
排序算法很多,不同的算法有不同的优缺点,没有哪种算法在任何情况下都是最好的。评价一种排序算法好坏的标准主要有两条:
(1)执行时间和所需的辅助空间,即时间复杂度和空间复杂度;
(2)
1.2 需求分析
利用if-else语句根据输入的代表不同功能的数字来用不同的方法处理数据。输入数字1时用数值排序方式处理数据;输入数字2时用字符方式排序法处理数据。输入数字0时退出程序,输入数字1时继续程序。
虽然排序有不同的方法,但是,其基本操作不外乎两种:
(1)关键字大小的比较。
(2)改变记录的位置。具体处理方式依赖于记录的存储形式,对于顺序型记录,一般移动记录本身,而链式存储的记录则通过改变指向记录的指针实现重定位。
由本次课程设计的课题内容分析可得,解决问题的实际就是要建立一个单链表,将待排序的整型数据以结点的形式存储在建立的单链表中。然后,依次对单链表中的结点数据进行简单选择排序,其中排序为从大到小排序用这种方法实现所要求的排序方式得到结果。
2. 总体设计
2.1 总体思路
程序中要求利用人机对话实现选择程序是按数值进行排序还是按字符顺序进行排序,在这,可以利用if-else选择语句对程序进行编写,从而达到人机对话实现选择程序是按数值进行排序还是按字符顺序进行排序。
本程序设计关于排序的基本思想是:链式简单选择排序的是每一趟在n-i+1(i=1,2,...,n-1)
2.2 相关技术
流程控制语句:for语句,switch,whilewhile语句和for语句。For语句的形式如下:
for语句形式:
for (表达式1; 表达式2; 表达式3)
首先计算表达式1(循环初值),且仅计算一次。每一次循环之前计算表达 式2”(循环条件),如果其结果为真,则执行语句(循环体),并计算表达式3(循环增量)。否则,循环终止。
While语句形式:
while (表达式)
语句;
它的执行过程:首先计算表达式 的值,如果为真,则执行语句 。再次判断,直至表达式的值为假结束循环。
3. 详细设计
if-else.选择语句对程序进行编写,从而达到人机对话实现选择程序是按数值进行排序还是按字符顺序进行排序。
在控制流程过程中,选择for语句和while语句达到对程序流程的循环控制。
3.2 模块设计
可以用流程图来展示
4. 实现与测试
4.1 实现环境
本课程设
您可能关注的文档
最近下载
- thinkpad_x240用户手册、说明书、用户指南完整版.pdf VIP
- 2025年上海市时事政治考试试卷带解析【重点】.docx VIP
- 建筑工程图集 05G517:轻型屋面三角形钢屋架.pdf VIP
- (高清版)B-T 10544-2022 橡胶软管及软管组合件 油基或水基流体适用的钢丝缠绕增强外覆橡胶液压型 规范.pdf VIP
- 灼热丝试验培训.pptx VIP
- 山东省青岛市2024-2025学年七年级上学期11月期中英语试题.docx VIP
- 2025年上海市时事政治考试试卷带解析重点.docx VIP
- 常州洛基25MWp屋顶分布式光伏发电项目工程土建专业监理实施细则.doc VIP
- 2025年上海市时事政治考试试卷带解析必背(含答案).docx VIP
- XX医院“十五五”发展规划(2026-2030).pdf VIP
文档评论(0)