1.顺序循环队列的定义:
#define QueueSize 100;
typedef struct Squeue {
int queue[QueueSize];
int front,rear//队头和队尾的计数点
}Sequeue;
2.顺序循环队列的入队操作(增):
status EnQueue(Sequeue *sq,int e);
{
//判断队列是否已满
if(sq->front==(sq->rear+1)%QueueSize)
{
return error;
}
sq->queue[rear]=e;
sq->rear=(sq->rear+1)%QueueSize;
return ok;
}
3.顺序循环队列的出栈操作(删):
status DeQueue(Sequeue *sq,int e)
{
//判断队列是否为空
if(sq->front==sq->rear)
{
return error;
}
e=sq->queue[front];
sq->front=(sq->front+1)%QueueSiez;
return ok;
}
4.取对头的元素(查)
status GetHead(Sequeue *sq ,int e)
{
//判断队列是否为空
if(sq->front==sq->rear)
{
return error;
}
e=sq->sequeue(front);
return ok;
}