循环队列

循环队列

循环队列的抽象数据类型,循环队列数据结构实现代码:
循环队列,front头指针,rear尾指针,queue申请内存

[cpp]
#define MaxSize 100
struct Queue
{
ElemType *queue;
int front,rear;
};
void Init(Queue &Q)
{
Q.queue=new Queue[MaxSize];
Q.front=Q.rear;
}
int Length(Queue Q)
{
return (Q.rear-Q.front+MaxSize)%MaxSize;
}
bool Insert(Queue &Q,ElemType t)
{
if((Q.rear+1)%MaxSize==Q.front) return false;
Q.queue[Q.rear]=t;
Q.rear=(Q.rear+1)%MaxSize;
return true;
}
bool Delete(Queue &Q,ElemType &t)
{
if(Q.front==Q.rear) return false;
t=Q.queue[Q.front];
Q.front=(Q.front+1)%MaxSize;return true;
}

[/cpp]