《队列类模板》word版

《队列类模板》word版

ID:26503497

大小:275.18 KB

页数:20页

时间:2018-11-27

《队列类模板》word版_第1页
《队列类模板》word版_第2页
《队列类模板》word版_第3页
《队列类模板》word版_第4页
《队列类模板》word版_第5页
资源描述:

《《队列类模板》word版》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、封皮(按学校要求手工填写)成绩评定表学生姓名崔丁昴班级学号1203060115专业通信工程课程设计题目队列类模板的设计与实现评语组长签字:成绩日期20年月日课程设计任务书学院信息科学与工程专业通信工程学生姓名崔丁昴班级学号1203060115课程设计题目队列类模板的设计与实现实践教学要求与任务进行队列类模板的设计并实现,队列采用循环队列实现,数据元素可以是char,int,float等多种数据类型,包括以下功能:(1)实现初始化队列操作,建立一个空队列;(2)实现清空队列操作;(3)实现判断队列是否为空的操作;(4)实现求队列长度的操作;(5)实现返回队首元素的操作;(6)实现入队操作;

2、(7)实现出队操作;(8)实现队列的遍历操作,输出队列的每个元素。(9)将上述功能作为类的成员函数实现,编写主函数测试上述功能。工作计划与进度安排第17周:分析题目,查阅课题相关资料,进行类设计、算法设计;第18周:程序的设计、调试与实现;第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。指导教师:201年月日专业负责人:201年月日学院教学副院长:201年月日摘要很多自然科学和工程技术中的问题的解决最终都归结到队列问题的处理,模板是处理问题很经典的方法,由它改进、变形得到的类模板,是一种效率很高、较为常用的方法。本文采用C++语言实现了对队列的各个操作,设计了队列类,采用Vis

3、ualC++6.0的控制台工程和MFC工程分别实现了对队列的处理。关键词:队列;类模板;控制台工程;MFC工程目录1需求分析12算法基本原理13类设计24基于控制台的应用程序24.1类的初始定义24.2类的实现34.3主函数设计54.4基于控制台的应用程序测试65基于MFC的应用程序85.1基于MFC的应用程序设计85.1.1MFC程序界面设计85.1.2MFC程序代码设计95.2基于MFC的应用程序测试11结论14参考文献151.需求分析1.应用类模板可以使类中的数据成员、成员函数的参数及成员函数的返回值能根据模板参数匹配情况取任意数据类型。这种类型既可以是C++预定义的数据类型,也可

4、以是用户自定义的数据类型。2.队列在程序设计中也经常出现。一个最典型的例子就是操作系统中的作业排队。在允许多道程序运行的计算机系统中,同时有几个作业运行。如果运行的结果都需要通过通道输出,那就要按请求输出的先后次序排队。每当通道传输完毕可以接受新的输出任务时,队头的作业先从队列中退出作输出操作。凡是申请输出的作业都从队尾进入队列。2.算法基本原理1.初始化一个循环队列。和顺序栈相类似,在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外,尚需附设两个指针front和rear分别指示队列头元素及队列尾元素的位置。2.实现清空队列操作。直接让类Queue中的

5、private成员全部清零。从而实现队列的清空。3.实现判断队列是否为空的操作。如果该队列中成员count为零的话。便直接输出该队列为空。4.实现求队列长度的操作。直接输出当前情况下的成员count的值。5.实现返回队首元素的操作。由于存在front直接指向着对首。所以直接输出该队首元素即q[front]。6.实现入队操作。在count++的情况下。让输入的值赋于q[rear++]。即实现了在队尾插入的功能。7.实现出队操作。在count--的情况下。让q[front]=q[front+1]。即实现了在队首删除的功能。8.实现队列的遍历操作。输出队列的每个元素。利用for循环直接输出q[

6、]数组中所有的元素。153.类设计1.对于基类Queue来讲。内部有私有成员和公有成员。私有成员包括了描述一个队列必须的对首(front)、队尾(rear)、即队总数(count)。另外还有用于存放队列数据的一个数组qlist[MaxQSize]。公有成员则包括了各个函数。Queue(void)为构造函数。QDelete()为实现队列的删除的函数。QInsert()为实现队列的插入的函数。ClearQueue()为实现队列的清空的函数。QLength()为计算求出队列的长度的函数。QFront()为找到队列的队首元素的函数。QEmpty()为判断队列是否为空的函数。PrintQueue(

7、)输出队列的函数。2.对于模板类来讲。即template。由于要求的是可以执行int、char、float三种类型的数据。所以我们在主函数中定义了三个成员Queues、Queuez、Queuey。用于分别调用这三种类型进行操作处理。4.基于控制台的应用程序整个程序分为三个大部分。第一个部分即为对类Queue的定义。第二个部分则是对类Queue中的各个成员函数进行定义。第三个部分即为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。