没有合适的资源?快使用搜索试试~ 我知道了~
visual-c---6.0-各种排序的算法-报告及源程序.doc
0 下载量 33 浏览量
2023-06-29
14:07:54
上传
评论
收藏 201KB DOC 举报
温馨提示
试读
29页
visual-c---6.0-各种排序的算法-报告及源程序.doc
资源推荐
资源详情
资源评论
1
摘要
近几年来,C 语言发展迅速,而且成为最受欢迎的语言之一,主要原因是它具有强大
的功效,很多著名的系统软件就是由 C 语言编写出来的。它与汇编语言的结合,更体现
出 C 语言的优越性。
排序算法主要有直接插入排序,折半插入排序,希尔排序,冒泡排序,双向冒泡排序,
快速排序,选择排序,堆排序,基数排序这几种。
通过对各种排序方法的比较,我们能够很直观的发现各种排序方法的特点及各自的优
缺点。
此次课程设计主要挑选了选择排序、插入排序、冒泡排序这三种排序方法,通过对这
三种排序方法的比较,希望能够让大家对一些排序方法有更加直观、深入的了解。
设计中主要解决了用 time()、srand()函数辅助 rand()函数随机产生了 0 到 99999 之间的
数据;借助指针申请了动态内存解决了将同一随机数组的三次复制进而确保在相同随机
数组的基础上三种比较算法的比较;在各种算法中运用 clock()函数计算完成比较所用的
时间,并在各种比较算法的编程理解中完成比较、交换次数的计数;将随机数组写入文
件等问题。
关键词:随机数 排序 交换 时间
2
目录
1. 设 计 内 容 、 设 计 参 数 及 要
求···································
····1
1.1 设 计 内
容··································
·················1
1.2 设 计 参
数··································
·················1
1.3 要
求··································
·····················1
2. 总 体 设 计 思
路···································
················2
2.1 设 计 系 统 的 功
能··································
···········2
2.2 算 法 思
想··································
·················2
2.3 系 统 的 总 体 框
架··································
···········3
2.4 系 统 的 总 体 流 程
图··································
·········4
3
3. 功 能 模 块 的 具 体 设
计···································
··········5
3.1 main( ) 主 函
数··································
·············5
3.2 SelectSort( ) 函
数··································
···········7
3.3 InsertSort( ) 函
数··································
···········9
3.4 PopSort( ) 函
数··································
············11
3.5 将 随 机 数 写 入 程
序··································
········13
3.6 welcome( ) 函
数··································
···········14
4. 模 块 的 调 试 及 测
试···································
···········15
5. 总 结 与 个 人 体
会···································
·············17
5.1 总
结··································
····················17
4
5.2 个 人 体
会··································
················17
6. 致
谢···································
·······················19
7. 参 考 文
献···································
···················20
附 程 序 源 代
码·····································
················21
1. 设 计 内 容 和 要 求
1.1 设计内容
⑴通过随机函数随机生成 100000 个数字,这些数字都是在[0,99999]之间。
(2)并通过设计的排序算法进行排序。这些排序算法中包括冒泡法、选择法、插入法,
也可以适当选择其他算法,但必须是较为典型的排序算法。
(3)排序完毕后应给出相应的比较信息,其中包括排序时间,比较次数和交换次数等信
5
息。
(4)在程序的主界面显示出最后的比较结论。
(5)查看完比较结果后,即可点击回车退出系统
1.2 设计参数
(1) 将 排 序 前 生 成 的 100000 个 随 机 数 存 入 一 个 文 本 文 件 中 , 该 文 件 命 名 为
BeforeSort.txt。
(2)将排序好的数字分别按照不同的排序方式存入不同的文件中,冒泡法排序后的数字
存入 PopSort.txt 中,选择法排序后的数字存入 SelectSort.txt 中,插入法排序后的数字存
入 InsertSort.txt 中。
1.3 要求
1.3.1 基本要求
精确测试上述三种排序方法对同样的数据进行排序所消耗的时间,比较次数以及交
换次数,明确各种排序的编写方法,分析各种排序方法在不同情况下的优劣。
1.3.2 附加要求
(1)程序启动后有较漂亮的封面页。
(2 ) 结果以列表形式,较友好的人机界面显示
2. 总 体 设 计 思 路
2.1 设计系统的功能
⑴在“Before.txt”中存储随机数。
⑵在”SelectSort.txt”、”InsertSort.txt”、”PopSort.txt”
中存储经过排序后的有序数列。
⑶通过对主界面中三种排序方法所用时间、比较次数、交换次数等信息的观察,了解
剩余28页未读,继续阅读
资源评论
yyyyyyhhh222
- 粉丝: 412
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功