队头:允许删除的一端,又称为队首
队尾:允许插入的一端
空队列:不允许任何元素的空表
队列的顺序存储:
#define struct maxsizee 50
typedef struct{
elemtype data[maxsize];
int front,rear;
}queue;
初始状态:q.front==q.rear==0
进队操作:队不满时,先送值到队尾元素,在将队尾指针加1
出对操作:队不空时,先取队头元素,在将队头指针加1
循环队列:
初始时:q.front==q.rear==0
队首指针进1:q.front=(q.front+1)%maxsize
队尾指针进1:q.rear=(q.rear+1)%maxsize
队列长度:(q.rear+maxsize-q.front)%maxsize
循环队列的操作
1初始化
void initqueue(&q){
q.rear=q.front=0;
}
2 判断队空
bool ise