



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、include using namespace std;/函数结果状态代码#define OK 1 #define ERROR 0#define OVERFLOW -2#define MAX 100 /Status是函数的返回值类型,其值是函数结果状态代码 typedef int Status;typedef int QElemType;/队列的链式存储结构typedef struct QNode (QElemType data; struct QNode *next; QNode, *QueuePtr; typedef struct (QueuePtr rear;/只设一个尾指针LinkQu
2、eue;void InitQueue(LinkQueue &Q);int EmptyQueue(LinkQueue Q);Status EnQueue(LinkQueue Status DeQueue(LinkQueue void Init(LinkQueue &Q);&Q,QElemType e);&QZ QElemType &e);/置空队列/判断队列是否为空/入队/出队/建立队列int main() LinkQueue q; /InitQueue(q); Init(q); int n;cinn; int e; for(int i=0;ie;EnQueue(q,e);) int m; ci
3、nm; int k; for(int i=0;im;i+) (DeQueue(q,k); coutkendl; )/用户输入入队元素数量/入队n个元素/用户输入出队元素数量/出队m个兀素/输出出队元素if(EmptyQueue(q)cout” 队列为空 endl;else队歹!J 非空;InitQueue(q);if(EmptyQueue(q)cout ”队歹 U 为空 endl; elsecout” 队歹 U非空 next=Q.rear; )Q.rear-next=Q.rear; )void InitQueue(LinkQueue &Q) /置空队列Q.rear=Q.rear-next;wh
4、ile (Q.rear!=Q.rear-next)/将尾指针指向头结点/当列非空时,将队中元素逐个出队QueuePtr s=Q.rear-next;Qrear-next=s-next; delete s;QueuePtr s=Q.rear-next;Qrear-next=s-next; delete s;/s指向队头元素/尾结点的指针域指向新的队头元素/释放结点的空间EmptyQueue(LinkQueue Q) int/判断队是否为空,空返回1,否那么返回0/队列只有一个头结点,即当头结点的指针域指向自己时,队列为空 return Q.rear-next-next=Q.rear-next;)
5、Status EnQueue(LinkQueue &QZ QElemType data=e;p-next=Q.rear-next;Q rear-next=p;Q.rear=p;return OK;)Status DeQueue(LinkQueue &Q,QElemType/出队,删除Q的队头元素,用e返Pl其值if(Q.rear-next-next=Q.rear-next) return ERROR;QueuePtr p=Q.rear-next-next;e=p-data;if(p=Q.rear)/申请新结点/将新结点数据域置为e/将新结点插入到队尾/将尾指针移至新结点&e)/假设队列空,那么返回ERROR/p指向队头元素/e保存队头元素的值/当队列中只有一个结点Q rear=Q.rear-next;Qrear-next=p-next;)else/修改尾指针,使其指向头结点/摘下结点PQ ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精细化护理降低早产儿感染风险
- XX公司车用甲醇汽油燃料生产经营项目可行性研究报告
- 高血压患者如何安稳过冬
- 点亮他人温暖自己
- 【英语】英语总复习∶中考英语书面表达(提高)知识讲解及答案经典
- 2025年中国紫微光干燥杀菌机行业市场发展前景及发展趋势与投资战略研究报告
- 器械代工合同范本
- 钢木制品项目可行性研究报告
- 2025-2030年中国煅烧型高岭土行业深度研究分析报告
- 2021-2026年中国IT物流行业市场全景调研及投资规划建议报告
- 大学生返家乡志愿服务证明
- (新版)网络攻防知识考试题库(含答案)
- 建筑工程资料档案盒侧面标签
- 工程设计变更工程量计算表
- 广东粤教版第3册上信息技术课件第5课神奇的变化-制作形状补间动画(课件)
- 动力工程及工程热物理专业英语课件
- 幼儿系列故事绘本课件达芬奇想飞-
- 出纳收入支出日记账Excel模板
- 给水排水用格栅除污机通用技术条件
- 一年级下册综合实践活动课件-身边的水果和蔬菜全国通用16张
- 市政工程主要施工机械设备
评论
0/150
提交评论