- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE \* MERGEFORMAT 4
成 绩 评 定 表
学生姓名吴琼班级学号专 业通信工程课程设计题目基于选择排序方法的类模板设计与实现评
语
组长签字:
成绩
日期
20 年 月 日
课程设计任务书
学 院信息科学与工程专 业通信工程学生姓名吴琼班级学号课程设计题目基于选择排序方法的类模板设计与实现实践教学要求与任务
建立一维数组数据结构的模板类,使一维数组中的数据元素可以是char, int, float等多种数据类型,并对数组元素实现选择类排序。主要完成如下功能:
(1) 实现数组数据的输入和输出;
(2) 实现简单选择排序功能;
(3) 实现树形选择排序功能;
(4) 实现堆排序功能;
(5) 将每种排序功能作为类的成员函数实现,编写主函数测试上述排序功能。
工作计划与进度安排
第17周:分析题目,查阅课题相关资料,进行类设计、算法设计;
第18周:程序的设计、调试与实现;
第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。指导教师:
201 年 月 日专业负责人:
201 年 月 日学院教学副院长:
201 年 月 日
摘 要
计算机中存储的数据,初始时没有任何排列规律,根据实际需求,经常要排列成有规律的数据序列也就是将数据序列按关键字升序或降序规律排列。
选择排序是排序法中很经典的算法,选择排序法可以分为简单选择排序、树形选择排序和堆排序。
本文采用C++语言实现了选择排序功能,设计了模板类,实现了int型float型和char型数组的排序,设计了简单选择排序、树形选择排序和堆排序的三个函数体,采用Visual C++ 6.0的控制台工程和MFC工程分别实现了各类型数组的排序,通过对两种程序的测试结果表明:简单选择排序是选择排序的基础,而树形选择排序和堆排序是简单选择排序的改进。
关键词:模板类;简单选择排序;树形选择排序;堆排序;控制台工程;MFC工程。
目 录
TOC \o 1-3 \h \z \u 1 需求分析 1
2 算法基本原理 1
3 类设计 3
4 基于控制台的应用程序 3
4.1 类的接口设计 4
4.2 类的实现 4
4.3 主函数设计 9
4.4 基于控制台的应用程序测试 11
5 基于MFC的应用程序 13
5.1 基于MFC的应用程序设计 13
5.1.1 MFC程序界面设计 13
5.1.2 MFC程序代码设计 15
5.2基于MFC的应用程序测试 21
结 论 22
参考文献 23
PAGE
PAGE 22
1 需求分析
(1)当进行数据处理时,经常遇到需要进行查找操作,通常希望待处理的数据按关键字大小有序排序,因为这样就可以采用查找效率较高的查找算法。
(2)对有序的顺序表可以采用查找效率较高的折半查找算法,而对无序的
顺序表只能采用顺序查找算法。由此可见排序是计算机程序设计中一种基础性操
作,研究和掌握各种排序方法是非常重要的。
(3)排序算法对于计算机信息处理很重要,一个好的排序不仅可以使信息 查找的效率提高,而且直接影响着计算机的工作效率。
本实验题目为基于选择排序方法的类模板设计与实现,要求建立一维数组数据结构的模板类,使一维数组中的数据元素可以是char, int, float等多种数据类型,并对数组元素实现选择类排序。因此实验采用类模板,可以对不同的数据类型的数据进行排序,并通过函数采用不同的方法进行排序。
2 算法基本原理
(1)简单选择排序
从无序的记录序列中选出一个关键字值最小的记录存入到指定的位置。
简单选择排序
SelectSort(Type ar[])
{
int i,j;
Type t;
for(i=1;ilen;i++)
for(j=i+1;j=len;j++)
if(array[i]array[j])
{t=array[i];array[i]=array[j];array[j]=t;}
}
(2)树形选择排序
树形选择排序的基本思想:树形选择排序又称锦标赛排序(Tournament Sort),是一种按照锦标赛的思想进行选择排序的方法。首先对n个记录的关键字进行两两比较,然后在n2个较小者之间再进行两两比较,如此重复,直至选出最小的记录为止。
(3).堆排序
堆排序由建初始堆和调整堆两个过程组成。再次,所谓筛选是指对一棵左右子树均为堆的完全二叉树,经调整根节点后使之成为堆的过程。建堆时一定要从最后一个非叶子结点开始。
堆排序的关键是调
您可能关注的文档
最近下载
- 柑橘基地质量管理体系.pdf
- CAD2007入门教程_图文版.ppt VIP
- TSG Z7005—2015 特种设备无损检测机构 核准规则_可搜索.pdf VIP
- DB4419_T 24-2024 社区社会组织孵化服务指南.docx VIP
- 安全可靠分布式事务型数据库技术要求.pdf VIP
- SH3124-2001T 石油化工给水排水工艺流程设计图例.pdf VIP
- 电缆敷设图集 12D101-5.pdf VIP
- 《银行业法律法规与综合能力》课件.pptx VIP
- 2024新信息科技四年级《第二单元 用编码描绘世界》大单元整体教学设计.docx
- 淮北矿业2015年矿瓦斯综合治理“六项指标”考核办法淮北矿业2015年矿井瓦斯综合治理“六项指标”考核办法.doc VIP
文档评论(0)