1.在循环队列中需要设置队头,队尾两个指针,并且约定;队头指针front指向队头元素的前一个位置,队尾指针rear指向队尾元素。队列的这种头尾相接的顺序存储结构称为循环队列。
2.在循环队列中有个很重要的问题就是:队空和队满的判定问题。在循环队列中队空和队满的判定条件都可以是front=rear。因此,我们需要浪费一个数组元素空间,让队满的条件变为:(rear+1)%QueueSize=front
#include<stdio.h>
#include<stdlib.h>
#define N 100
typedef struct queue
{
int data[N];
int front,rear;
} Queue;
/*
函数功能:队列初始化
函数接口:
*/
void init_queue(Queue *q)
{
q->front=q->rear=0;
}
/*
函数功能:入队