循环队列

//2022.9.30循环队列
#include <stdio.h>
#include <stdlib.h>


#define N 20

//定义顺序队列的类型
typedef struct sqque
{
int *base;//基地址
int front;//队头指针(下标)
int rear;//队尾指针(下表)
}sqq;

//定义一个顺序队列
sqq q;

void initque(){
q.base=(int *)malloc(N*sizeof(int));
if(!q.base)
exit();
q.front=q.rear=0;//空队列
}
//入队
void enque(int e)
{
if(q.front==(q.rear+1)%N)
{

exit(0);
}
q.base[q.rear]=e;//元素的插入
q.rear=(q.rear+1)%N;//修改的队尾指针

}
//出队
void delque(){
int e;
if(q.base==q.rear)
{

exit(0);
}
e=q.rear[q.front];
q.front=(q.front+1)%N;//修改队头指针
return e;

}