📄 circlequeue.cpp
字号:
#include"common.h"
#include"CircleQueue.h"
#include<stdlib.h>
status InitQueue (SqQueue &q) //构造一个空队列q
{
q.base=(ElemType*)malloc(MAXQSIZE *sizeof(ElemType));
if(!q.base)exit(1);
q.flag=1;
q.front = q.rear=0;
return (1);
}
status EnQueue(SqQueue &q,ElemType x) /*入队列*/
{
if(QueueFull(q))
return(0);
q.base[q.rear]=x;
q.rear=(q.rear+1)% MAXQSIZE;
if(q.rear==q.front)
q.flag=0;
return(1);
}
status DeQueue(SqQueue &q,ElemType &e) /*出队列*/
{
if(QueueEmpty(q))
return(0);
e= q.base[q.front];
q.front=(q.front+1)%MAXQSIZE;
if(q.front==q.rear)
q.flag=1;
return(1);
}
int QueueLength(SqQueue q)
{
if(QueueEmpty(q))
return 0;
else
return (q.rear-q.front+MAXQSIZE)%MAXQSIZE;
}
bool QueueEmpty(SqQueue q)
{
return q.flag==1;
}
bool QueueFull(SqQueue q)
{
return q.flag==0;
}
// 队列长度
status ClearQueue (SqQueue &q)
{
q.rear=q.front=0;
q.flag=1;
return 1;
}
//判断队列是否为空
status DestroyQueueEmpty(SqQueue &q)
{
free(q.base);
return 1;
}
//取对头元素
status GetHead(SqQueue q,ElemType &e)
{
if(!QueueEmpty(q))
{
e=q.base[q.front];
return 1;
}
else
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -