- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
顺序循环队列和链式队列的类定义和实现
顺序循环队列的类定义(数组)和实现程序构思:本程序将data表示成数据类型为datatype的数组,front为顺序循环队列的对头指示器,rear为顺序循环队列的队尾指示器。首先给出了顺序循环队列的类定义,然后给出了函数实现部分,最后测试,输出结果。程序代码:queue1.h#define QueueSize 10typedef int datatype; class Cirqueue{private: int front;int rear;int count;datatype data[QueueSize];public://构造函数Cirqueue();//判断栈是否为空bool queueEmpty();//判断栈否为满bool queueFull();//栈存在则返回栈的元素个数,即栈的长度int QueueLength();//取队列的头元素datatype queueFront();//入队void enqueue(datatype);//出对datatype dequeue();};Queue1.cpp#include iostream#include iomanipusing namespace std;#include queue1.h//构造函数Cirqueue::Cirqueue(){front=0;rear=0;count=0;}//判断栈是否为空bool Cirqueue::queueEmpty(){if(count==0)return true;elsereturn false;}//判断栈否为满bool Cirqueue::queueFull(){if(count==QueueSize)return true;elsereturn false;}//栈存在则返回栈的元素个数,即栈的长度int Cirqueue::QueueLength(){return count;}//取队列的头元素datatype Cirqueue::queueFront(){if (queueEmpty()==true){cout队列为空!endl;exit(1);}return data[front];}//入队void Cirqueue::enqueue(datatype x){if (queueFull()==true){cout队列已满!endl;exit(1);}data[rear]=x;count++;rear=(rear+1)%QueueSize;}//出对datatype Cirqueue::dequeue(){datatype item;if (queueEmpty()==true){cout队列为空endl;exit(1);}item=data[front];count--;front=(front+1)%QueueSize;return item;}Queue1m.cpp#include iostream.h#include iomanip.h#include stdlib.h#include string.h#include queue1.hvoid main(){cout-------------queue1---------------endl;Cirqueue MyQueue;int i,x,m;cout输入随机产生的种子数:;cinm;srand(m);for (i=0;iQueueSize;i++){x=rand()%100;MyQueue.enqueue(x);}cout循环队列的长度MyQueue.QueueLength()endl;cout输出循环队列:endl;while (MyQueue.queueEmpty()!=true){x=MyQueue.dequeue();coutsetw(4)x;}coutendl;}程序运行结果:注:本程序可将data[QueueSize]改成指针类型datatype *data,然后在构造函数中对data进行初始化。链式队列的类定义和实现程序构思:本程序将front表示成数据类型为结构体queuenode的指针变量,front为链式队列的对头指示器,rear为链式队列的队尾指示器。首先给出了链式队列的类定义,然后给出了函数实现部分,最后测试,输出结果。程序代码:Linqueue.h#define QueueSize 10typedef int datatype; typedef struct QueueNode{datatype data;struct QueueNode *next;}queuenode;class linkqueue{private: queuenode *front;queuenode *rear;int coun
您可能关注的文档
- 商务英语···订货及确认.doc
- WebSphere MQ Quick Proposal中文版.doc
- 备战2011高考英语各地模拟题分类汇编_完形填空议论文篇.doc
- 高考外研版 练习题 选修7.docx
- 工程招投标与索赔管理.doc
- 湖南省新化二中2015-2016学年高二上学期10月月考英语试卷.doc
- 小学英语教学论在线作业.doc
- SAP_QM快速入门.doc
- western culture 西方文化.doc
- weblogic10在控制台下配置jms消息服务.docx
- [专精特新]金华永和氟化工有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]重庆升光电力印务有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]无锡巨力重工股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西凯安新材料集团股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江永昌电气股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]苏州中创铝业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]杭州汽轮铸锻有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江美声智能系统有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]汕头市虹桥包装实业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西亚中电子科技股份有限公司行业竞争力评级分析报告(2023版).pdf
最近下载
- 江苏省2021年中学生生物学奥林匹克初赛理论试题答案.doc
- 2025年哈尔滨应用职业技术学院单招语文测试题库附答案.docx VIP
- 2025年安徽水利水电职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 【道氏理论】(完全版).doc
- 分娩镇痛的现状和临床应用课件.ppt
- 学科中心教研组管理方案.docx VIP
- 五年级下册数学单元测试-3长方体和正方体 人教版(含答案).docx
- 2024年安徽水利水电职业技术学院单招职业技能测试题库(考试直接用).docx VIP
- 23S516 混凝土排水管道基础及接口图集.docx VIP
- 数控系统(CNC)系列:Fanuc 31i-B_(6).G代码和M代码详解.docx
文档评论(0)