数据结构-->(循环)队列 【队列的顺序实现】ADT
2016-07-09 22:04
495 查看
#define ERROR 0 #define OK 1 #define MAXQSIZE 200 //!注意栈是没有头结点的 typedef int QElemType; typedef struct { QElemType *base; int Front; int Rear; }SqQueue;
bool InitQueue(SqQueue &Q) {//队列的初始化 Q.base = new QElemType[MAXQSIZE]; if(!Q.base) return ERROR; Q.Front = Q.Rear = 0; return OK; }
bool QueueLength(SqQueue Q) {//返回队列长度 return (Q.Rear - Q.Front + MAXQSIZE)%MAXQSIZE; }
bool EnQueue(SqQueue &Q,QElemType e) {//注意是从下标0开始存放的 if(Q.Front == (Q.Rear+1)%MAXQSIZE) return ERROR;//队满 Q.base[Q.Rear] = e; Q.Rear = (Q.Rear+1)%MAXQSIZE; return OK; }
bool DeQueue(SqQueue &Q,QElemType &e) {//删除队首 if(Q.Front==Q.Rear) return ERROR; e = Q.base[Q.Front]; Q.Front = (Q.Front+1)%MAXQSIZE; return OK; }
QElemType GetHead(SqQueue Q) {//取队首 if(Q.Front!=Q.Rear) return Q.base[Q.Front]; }
相关文章推荐
- 数据结构和算法分析(9)表栈和队列的实际应用(一)
- 数据结构实验之排序四:寻找大富翁
- 数据结构-->队列的链式实现 ADT
- java数据结构(五)——图论
- 数据结构-->栈的链式实现
- 二叉树详解及二叉树的前序、中序、后序遍历(递归和非递归)
- 数据结构-->栈的顺序实现 ADT
- PE文件数据结构汇总
- MFT的簇流数据结构详解
- 二叉树基础-文本二叉树(数据结构基础 第5周)
- 数据结构 -->线性表的链式实现 ADT
- java中自己用过的数据结构(队列Queue、优先级队列PriorityQueue和栈Stack),及其分别的应用场景
- 天梯赛 L2-012. 关于堆的判断 数据结构
- 红黑树详解 原理 史上最强 精华
- 树形结构与层次结构相互转换
- MySQL索引背后的数据结构及算法原理
- 红黑树--(下)
- 二叉树应用-最小堆类模板的实现(数据结构基础 第6周)
- Donut Decoration
- 二叉树基础-实现堆结构(数据结构基础 第5周)