1 / 20
文档名称:

队列类模板.doc

格式:doc   大小:215KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

队列类模板.doc

上传人:drp539608 2018/11/13 文件大小:215 KB

下载得到文件列表

队列类模板.doc

文档介绍

文档介绍:封皮
(按学校要求手工填写)
成绩评定表
学生姓名
崔丁昴
班级学号
1203060115
专业
通信工程
课程设计题目
队列类模板的设计与实现


组长签字:
成绩
日期
20 年月日
课程设计任务书
学院
信息科学与工程
专业
通信工程
学生姓名
崔丁昴
班级学号
1203060115
课程设计题目
队列类模板的设计与实现
实践教学要求与任务
进行队列类模板的设计并实现,队列采用循环队列实现,数据元素可以是char, int, float等多种数据类型,包括以下功能:
(1) 实现初始化队列操作,建立一个空队列;
(2) 实现清空队列操作; (3) 实现判断队列是否为空的操作;
(4) 实现求队列长度的操作; (5) 实现返回队首元素的操作;
(6) 实现入队操作; (7) 实现出队操作;
(8) 实现队列的遍历操作,输出队列的每个元素。
(9) 将上述功能作为类的成员函数实现,编写主函数测试上述功能。
工作计划与进度安排
第17周:分析题目,查阅课题相关资料,进行类设计、算法设计;
第18周:程序的设计、调试与实现;
第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。
指导教师:
201 年月日
专业负责人:
201 年月日
学院教学副院长:
201 年月日
摘要
很多自然科学和工程技术中的问题的解决最终都归结到队列问题的处理,模板是处理问题很经典的方法,由它改进、变形得到的类模板,是一种效率很高、较为常用的方法。本文采用C++语言实现了对队列的各个操作,设计了队列类,采用Visual C++ 。
关键词:队列;类模板;控制台工程;MFC工程
目录
1 需求分析 1
2 算法基本原理 1
3 类设计 2
4 基于控制台的应用程序 2
类的初始定义 2
类的实现 3
主函数设计 5
基于控制台的应用程序测试 6
5 基于MFC的应用程序 8
基于MFC的应用程序设计 8
MFC程序界面设计 8
MFC程序代码设计 9
11
结论 14
参考文献 15
1. 需求分析
、成员函数的参数及成员函数的返回值能根据模板参数匹配情况取任意数据类型。这种类型既可以是C++预定义的数据类型,也可以是用户自定义的数据类型。
。一个最典型的例子就是操作系统中的作业排队。在允许多道程序运行的计算机系统中,同时有几个作业运行。如果运行的结果都需要通过通道输出,那就要按请求输出的先后次序排队。每当通道传输完毕可以接受新的输出任务时,队头的作业先从队列中退出作输出操作。凡是申请输出的作业都从队尾进入队列。
2. 算法基本原理
。和顺序栈相类似,在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外,尚需附设两个指针front和rear分别指示队列头元素及队列尾元素的位置。
。直接让类Queue中的private成员全部清零。从而实现队列的清空。
。如果该队列中成员count为零的话。便直接输出该队列为空。
。直接输出当前情况下的成员count的值。
5. 实现返回队首元素的操作。由于存在front直接指向着对首。所以直接输出该队首元素即q[front]。
。在count++的情况下。让输入的值赋于q[rear++]。即实现了在队尾插入的功能。
。在count--的情况下。让q[front]=q[front+1]。即实现了在队首删除的功能。
。输出队列的每个元素。利用for循环直接输出q[]数组中所有的元素。
3. 类设计
。内部有私有成员和公有成员。私有成员包括了描述一个队列必须的对首(front)、队尾(rear)、即队总数(count)。另外还有用于存放队列数据的一个数组qlist[MaxQSize]。公有成员则包括了各个函数。Queue(void)为构造函数。QDelete()为实现队列的删除的函数。QInsert()为实现队列的插入的函数。ClearQueue()为实现队列的清空的函数。QLength()为计算求出队列的长度的函数。QFront()为找到队列的队首元素的函数。QEmpty()为判断队列是否为空的函数。PrintQueue()输出队列的函数。