基于 C 语言的多种排序方法的实现1 引 言1
1 课题背景排序问题源远流长,一直是数学地重要组成部分
随着各种信息的快速更新,排序问题也走进了其他领域以及我们地日常生活
如何高效地排序一直困扰着我们
2 课程设计目的排序是数学的重要组成部分,工作量大是其存在的问题
如何高效地排序
本程序就是解决这个问题而设计
程序中,把数列储存在数组中,采纳插入排序等十种排序方法对数组元素进行排序,高效地解决了排序问题
本软件开发的平台为最新的微软公司出版的市面最新系统 Windows 2000,而且可以作为自身的运行平台非常广泛,包括 Windows 98/2000/XP/Vista 等等
3 课程设计内容本程序把对数列的排序转化为对数组元素的排序,用户可以根据自己的实际问题选择系统提供的七种排序方法的任意一种进行排序
程序通过自身的推断以及处理实现排序
程序最后输出每趟排序及初始排序结果
2 系统分析与设计方案 2
1 系统分析 设计一个排序信息管理系统,使之能够操作实现以下功能:1) 显示需要输入的排序长度及其各个关键字2) 初始化输入的排序序列3) 显示可供选择的操作菜单4) 显示输出操作后的移动次数和比较次数5) 显示操作后的新序列5) 可实现循环继续操2
2 设计思路通过定义 C 语言顺序表来存储排序元素信息,构造相关函数,对输入的元素进行相应的处理
3 设计方案设计方案如图 2
1 所示图 2
1 设计方案具体流程见图 2
2开始定义顺序表相关函数的声明主函数退出系统开始菜单插 入 排序冒 泡 排序快 速 排序堆排序退 出 排序 输入数据是否继续操作结束折 半 插入排序简 单 选择排序图 2
2 程序流程图3 功能设计3
1 SqList 顺序表其中包括顺序表长度,以及顺序表
源代码如下:[1]typedef struct{ KeyType key;