- 1、本文档共109页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
《基于C 语言的多种排序方法的实现》 第 PAGE 1 页 共30页
基于C语言的多种排序方法的实现
1 引 言
1.1 课题背景
排序问题源远流长,一直是数学地重要组成部分。随着各种信息的快速更新,排序问题也走进了其他领域以及我们地日常生活。如何高效地排序一直困扰着我们。
1.2 课程设计目的
排序是数学的重要组成部分,工作量大是其存在的问题。如何高效地排序?本程序就是解决这个问题而设计。程序中,把数列储存在数组中,采用插入排序等十种排序方法对数组元素进行排序,高效地解决了排序问题。本软件开发的平台为必威体育精装版的微软公司出版的市面必威体育精装版系统Windows 2000,而且可以作为自身的运行平台非常广泛,包括 Windows 98/2000/XP/Vista等等。
1.3课程设计内容
本程序把对数列的排序转化为对数组元素的排序,用户可以根据自己的实际问题选择系统提供的七种排序方法的任意一种进行排序。程序通过自身的判断以及处理实现排序。程序最后输出每趟排序及初始排序结果。
2 系统分析与设计方案
2.1 系统分析
设计一个排序信息管理系统,使之能够操作实现以下功能:
1) 显示需要输入的排序长度及其各个关键字
2) 初始化输入的排序序列
3) 显示可供选择的操作菜单
4) 显示输出操作后的移动次数和比较次数
5) 显示操作后的新序列
5) 可实现循环继续操
2.2 设计思路
通过定义C语言顺序表来存储排序元素信息,构造相关函数,对输入的元素进行相应的处理。 [2]
2.3 设计方案
设计方案如图2.1所示
开始
开始
定义顺序表
相关函数的声明
主函数
退出系统
图2.1 设计方案
具体流程见图2.2
开始
开始
菜单插入排序冒泡排序快速排序堆排序是否继续操作结束
菜单
插入排序
冒泡排序
快速排序
堆排序
是否继续操作
结束
退出排序
退出排序
折半插入排序
折半插入排序
简单选择排序
简单选择排序
输入数据
输入数据
图2.2 程序流程图
3功能设计
3.1 SqList顺序表
其中包括顺序表长度,以及顺序表。源代码如下:[1]
typedef struct
{
KeyType key; //关键字项
InfoType otherinfo; //其他数据项
}RedType;
typedef struct
{
RedType r[MaxSize+1]; //r[0]作为监视哨
int length; //顺序表长度
}SqList;
3.2 直接插入排序
直接插入排序是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表
有序序列r[1
有序序列r[1……i-1]
无序系列r[i……n]
r[i]
有序序列r[1……i] 无序系列r[i+1……n]
图3.1 直接插入排序示意图
将第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个记录为已经排好序的集合。
3.3 冒泡排序
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 12.95 13.10
交换
交换
交换
13.15 13.02 13.25 12.92 12.95 13.10
13.15
您可能关注的文档
- 电动车毕业设计(论文).doc
- 电子商务环境下我国快递行业面临的问题及对策研究毕业论文.doc
- 电子音乐闹钟的设计与仿真毕业设计论文.doc
- 电阻炉温度控制系统毕业设计论文.doc
- 端盖落料拉伸复合模设计毕业设计论文.doc
- 对游泳初学者心理分析研究毕业论文.doc
- 对中小型企业筹资渠道问题的分析毕业论文.doc
- 多点温度监控系统设计毕业论文.doc
- 多媒体讲台控制系统的人机学改进及设计毕业论文.doc
- 俄语教学中的情感因素及其教学策略毕业论文.doc
- 人教版(2019)必修第二册Unit 1 Cultural Heritage Listening .pptx
- 人教版(2019)必修第一册Unit 3 Sports and Fitness Reading fo.pptx
- 人教版(2019) 必修第一册 Unit 1 Teenage Life Reading and.pptx
- 人教版(2019)选择性必修第一册Unit 5 Working the Land Reading a.pptx
- 期末综合测试题 2024-2025学年下期初中英语人教版八年级下册.docx
- 期末综合测试题 2024-2025学年下期初中道德与法治统编版八年级下册.docx
- 初中英语人教版七年级上经典必备作文10篇.docx
- 第17课 明朝的灭亡和清朝的建立 巩固练习 2024-2025学年下期初中历史统编版七年级下.docx
- 人教版(2019)必修三 Unit 1 Festivals and Celebrations Lis.pptx
- 人教版(2019)必修三 Unit 3 Diverse Cultures Reading for W.pptx
文档评论(0)