C++实现一个简单的环形队列
Posted Jing Sir
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++实现一个简单的环形队列相关的知识,希望对你有一定的参考价值。
如下所示,这是一个简单的环形队列:
class arrayqueue
private:
int size;
int front;
int rear;
int *queue;
bool tag;
public:
arrayqueue(int n)
size=n;
queue=new int[size];
front=rear=-1;
tag=0;
void enqueue(int item)//item插入队尾
rear=(rear+1)%size;
if((front==rear)&&(tag==1))
cout<<"队列已满,溢出"<<endl;
rear=size-1;
else
if(front=-1)
front=0;
queue[rear]=item;
tag=1;
void dequeue(int &item)//返回队伍首元素,并删除
if(tag==0&&front==rear)
cout<<"队列为空"<<endl;
else
item=queue[front];
front=(front+1)%size;
if(front==rear)
tag=0;
void disp()
int tmp=front;
if(tag)//队中有元素
if(front==rear)//队满
while(tmp!=rear)
cout<<queue[tmp];
tmp=(tmp+1)%size;
cout<<queue[rear]<<endl;
while(tmp!=rear)//队不满,但是有元素
cout<<queue[tmp];
tmp=(tmp+1)%size;
cout<<queue[tmp];
cout<<endl;
;
以上是关于C++实现一个简单的环形队列的主要内容,如果未能解决你的问题,请参考以下文章