1.循环队列有几个初学者需要注意的地方:
(1)如何判断循环队列为空或者已满?
其实在程序设计的过程中是有很多方法来处理同一个问题的,就看编写代码者如何去处理。一般情况下,有两种方法来处理循环队列的这个问题:
a.在循环队列的定义过程中,用一个变量来记录当前队列中元素的个数;
b.利用 (Q->front + 1)%MaxSize == Q->rear来判断是否已满;利用Q->front == Q->rear来判断是否为空.因为(Q->front + 1)%MaxSize == Q->rear的缘故,这种方法最大使用队列空间的MaxSize - 1。
//
//
// 循环队列的实现
//
// 包括出队,入队等操作
//
//
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 20 // 队列的最大容量
typedef struct SeqQueue
{
int front ; // 队列头
int rear ; /