循环队列初始条件:队头指针=队尾指针=0
循环队列队满条件:MOD(队尾指针+1,m)=队头指针
循环队列空条件:队头指针=队尾指针
队头指针推进计算:队头指针=MOD(队头指针+1,m)
队尾指针推进计算:队尾指针=MOD(队尾指针+1,m)
在QueueCycleCs.c文件中定义了结构
#define CDT char
#define CM 5
typedef struct {
CDT data[CM];
int front,rear;
}SECYCLEQUEUE;
循环队列上的操作
(1)创建循环队列
初始化队列,队头指针和队尾指针=0.
在QueueCycyleControl.h写出方法声明
#include "QueueCycleCs.c"
/*
创建循环队列
*/
SECYCLEQUEUE initCycleQueue();
在QueueCycyleControl.c中实现此方法
#include "QueueCycleControl.h"
/*
创建循环队列
*/
SECYCLEQUEUE initCycleQueue(){
SECYCLEQUEUE Q;
//队头指针=队尾指针=0;
Q.front=Q.rear=0;
return Q;
}
(2)插入
在QueueCycyleControl.h写出方法声明
#include "QueueCycleCs.c"
/*
循环队列插入
*/
SECYCLEQUEUE inCycleQueue(SECYCLEQUEUE Q,char x);











