- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘 要
关键词:;;MFC工程
目 录
1 需求分析 1
2 算法基本原理 1
3 类设计 2
3.1 类的概述 2
3.2 类的初始定义 2
3.3 类的实现 3
4 基于控制台的应用程序 5
4.1 主函数设计 5
4.2 运行结果及分析 8
5 基于MFC的应用程序 10
5.1 图形界面设计 10
5.2 程序代码设计 12
5.3 运行结果及分析 19
结 论 23
参考文献 24
需求
需求分析其中包含两个方面:
(1)类模板可以使类中的数据成员、成员函数的参数及成员函数的返回值能根据模板参数匹配情况取任意数据类型。这种类型既可以是C++预定义的数据类型,也可以是用户自定义的数据类型。
(2)队列在程序设计中也经常出现,一个最典型的例子就是操作系统中的作业排队。在允许多道程序运行的计算机系统中,同时有几个作业运行,如果运行的结果都需要通过通道输出,那就要按请求输出的先后次序排队。每当通道传输完毕可以接受新的输出任务时,队头的作业先从队列中退出作输出操作,凡是申请输出的作业都从队尾进入队列。
算法基本原理
初始化一个循环队列,和顺序栈相类似,在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外,尚需附设两个指针front和rear分别指示队列头元素及队列尾元素的位置。
(2)实现清空队列操作,直接让类Queue中的private成员全部清零,从而实现队列的清空。
(3)实现判断队列是否为空的操作,如果该队列中成员count为零的话,便直接输出该队列为空。
(4)实现求队列长度的操作,直接输出当前情况下的成员count的值。
(5) 实现返回队首元素的操作,由于存在front直接指向着对首,所以直接输出该队首元素即q[front]。
(6)实现入队操作,在count++的情况下,让输入的值赋于q[rear++],即实现了在队尾插入的功能。
(7)实现出队操作,在count--的情况下,让q[front]=q[front+1],即实现了在队首删除的功能。
(8)实现队列的遍历操作,输出队列的每个元素,利用for循环直接输出q[]数组中所有的元素。
类设计
3.1 类的
3.2 类的#includeiostream
#include stdlib.h
using namespace std;
const int MaxQSize = 20;
template class T //模板声明
class Queue{ //类Queue的声明
private:
int count; int front; int rear; //类Queue私有成员声明
T qlist[MaxQSize];
public:
Queue(void); //构造函数
void QDelete(); //实现队列的删除
void QInsert(); //实现队列的插入
void ClearQueue(); //实现队列的清空
void QLength(); //计算求出队列的长度
void QFront(); //找到队列的队首元素
void QEmpty(); //判断队列是否为空
void PrintQueue(); //输出这个队列
};
3.3 类的实现
template class T
QueueT ::Queue(void):front(0), rear(0), count(0) //初始化
{}
template class T
void QueueT ::QDelete(){ //删除
T temp;
if (count == 0)
{
cout 这是个空的队列! endl;
exit(1);
}
temp = qlist[front];
count--;
front = (front+1) % MaxQSize;
}
template class T
void QueueT ::QInsert(){ //插入
char a; T item;
您可能关注的文档
- 2016年安徽自主招生地理模拟题:GIS的数据库及其应用探究.docx
- 2017年企业品质管理规划探究.doc
- 2016年安康杯主持词探究.doc
- 2016年安徽自主招生物理模拟题:高压输电探究.docx
- 2016年安全操作规程探究.doc
- 2017年全国大学生电子设计大赛本科类及高职类信号处理部分试题探究.doc
- 2017年全国卷高考语文专题复习_古代文化常识试题汇编探究.doc
- 2016年安全监理培训试题及答案探究.doc
- 2016年安全技能考试探究.doc
- 2017年全国硕士研究生入学统一考试法律硕士(非法学)专业基础试题答案及解析探究.doc
- 2016年度固定资产投资项目立项申请表7_分布式数据平台建设探究.doc
- 2016年度换发证件考试复习大纲(商务执法证)探究.doc
- 150130大数据科学方法的变革和哲学思考探究.docx
- 150817蒙西华中铁路隧道施工监控量测实施方案(试行)(打印版)探究.doc
- 2016年度换发证件考试复习大纲探究.docx
- 160810热电厂事故案例汇编探究.doc
- 2016年度全国注册土木工程师(港口与航道工程)执业资格考试专业考试主要工程技术标准及文件清单探究.doc
- 201407力学实验探究.doc
- 2016年尔雅美术鉴赏最新期末考试探究.docx
- 2016年二级建造师《水利水电》真题及答案探究.docx
最近下载
- 2025年云南省投资控股集团有限公司招聘笔试备考试题附答案详解(突破训练).docx VIP
- DB32_T2334.2—2013《水利工程施工质量检验与评定规范》第2部分:建筑工程.doc
- 建筑工程图集 03D103:10kV及以下架空线路安装.pdf VIP
- 内蒙古自治区矿产资源储量.doc VIP
- 2025年云南省投资控股集团有限公司人员招聘笔试备考试题及答案详解(最新).docx VIP
- 2024中国蓝领就业调研报告-中国新就业形态研究中心.pdf VIP
- 08J933-1 体育场地与设施(一).docx VIP
- 大型设备吊装专项施工方案.doc VIP
- 桥梁施工组织设计范本.doc VIP
- 国外铀矿冶设施的退役治理.pdf VIP
文档评论(0)