1 / 2 4 郑州轻工业学院本科 数据结构课程设计总结报告 设计题目:常用的内部排序算法的分析和比较 学生姓名: 傅伟伟 系 别: 计算机科学与工程 专 业: 计算机科学与技术 班 级: 1 0 -0 2 班 学 号: 5 4 1 0 0 7 0 1 0 2 0 7 指导教师: 卢 冰 、 李 晔 2 0 1 2 年 6 月 2 1 日 2 / 24 郑州轻工业学院 课 程 设 计 任 务 书 题目 常用内部排序算法分析与比较 专业、班级 计算机科学与技术 10-02班 学号 541007010207 姓名 傅伟伟 主要内容:分析直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序等常用的内部排序算法的思想,通过交换次数以及比较次数来对这些算法进行比较。 基本要求:通过给定的记录数目及排序思想,设计相应的存储结构,程序之中要求可以实现完全随机,部分逆序等测试数据,来对每一种排序算法进行验证。其次还要设计出一个统计交换次数和比较次数的函数来进行计数。从待排序的记录数目、记录大小、关键字结构及其对稳定性的要求讨论出每种算法使用的环境。 主要参考资料: 严蔚敏 吴伟民 数据结构(C语言版) 清华大学出版社 完 成 期 限: 2012/6/21 指导教师签名: 课程负责人签名: 2012年 6月 21 日 3 / 2 4 用户使用的提示性界面 一、设计题目: 常用的内部排序的算法分析和比较 二、运行环境: 操作系统:Windows 软件:Visual C++ 6.0 三、设计目的: 针对常见的计算机内部排序算法,如直接插入排序、希尔排序、冒泡排序、简单选择排序、堆排序、归并排序、基数排序等,通过是自己设计的程序,借助排序中交换次数和比较次数来比较这些算法的适用范围。 四、程序设计的流程图: 1完全随机数的操作 2 用户自行输入数据 3全部逆序的随机数 4 程序退出 八种内部排序的各个操作 显示操作之后八种算法的比较 4 / 24 五、算法分析: 1、简单选择排序: 简单选择排序的每一趟都是从待排的数据元素中选出一个最小(最大)的一个元素,顺序的放在已经排好的数列的最后,直到全部待排序的数据元素排序完毕。 2、直接插入排序: 这是一种最简单的排序方法,它的基本操作时将一个记录插入到一个已经排好序的有序表中,从而得到一个新的记录数增1的有序表。其效率:从空间的角度来看待,它只需要一个辅助的空间,从时间上来看的话,排序的基本操作是比较两个关...