课程设计说明书设计名称程序设计语言强化课程设计题目比较各种排序方法的效率
学生姓名
专业网络工程
班级10网络工程2
学号
指导教师
日期2012年3月8日
f课程设计任务书
一、设计题目
比较各种排序方法的效率
二、主要内容
选择四种以上的排序方法采用随机生成的数据登记并比较各个排序方法的比较次数和交换次数验证各个排序方法效率的理论分析的结果。
三、具体要求
围绕课程设计的目的和意义基本要求如下
每次随机生成的数据不小于100个
采用顺序存储结构登记多次结果
经过大量的统计计算给出各种排序方法的平均效率的比较。
把统计结果与理论分析结论进行对照。
四、进度安排
f1、资料查找、系统分析概要设计时间安排2天
2、系统详细设计、功能设计时间安排2天
3、算法实现、编程调试时间安排57天
4、资料整理、课程设计说明书编写。时间安排1天
五、完成后应上交的材料
1、课程设计说明书所使用的数据结构说明、程序流程图、功能模块
图、核心算法等
2、相关源程序文件
六、总评成绩
指导教师签名日期年月日
系主任审核日期年月日
目录
f一、设计任务的主要算法分析1
11主要算法具体分析2
二、程序的流程图3
各种排序算法的NS图3
1总流程图模块3
2直接插入排序模块4
3冒泡排序模块5
4简单选择模块5
5快速排序模块6
6堆排序模块6
三、各个模块的源代码7
31各种排序算法7
1直接插入排序函数7
2冒泡排序函数8
3简单选择排序函数9
4快速排序函数10
5堆排序函数11
6输出函数13
7随机生成函数13
8主函数16
四、程序运行效果图20
41登陆画面20
42各种排序结果显示画面100个数据随机生成5次21
43总的、平均的比较次数和交换次数显示画面100个数据随机
f生成5次23
44总的、平均的比较次数和交换次数显示画面1000个数据随
机生成100次24
五、使用说明24
六、设计心得24
61课程设计中遇到的主要问题和解决方法24
62本程序的创新和得意之处25
63设计中存在的不足及改进的设想25
64本次课程设计的感想和心得体会25
f一算法分析
直接插入排序将记录插入到已排好序的有序表中得到一个新的记录数增加的有序表。
冒泡排序是基于交换排序的一种算法。它是依次两两比较待排序元素若为逆序递增或递减则进行交换将待排序元素
从左至右比较一遍称为一趟“冒泡”。每趟冒泡都将待排序
列中的最大小关键字交换到最后位置直到全部元素
有序为止。
简单选择排序令i从1至
1进行
1趟选择操作。
快速排序通r