#include
#include
#define size 99
using namespace std;
typedef struct BiTNode{
char data;
struct BiTNode *lchild;
struct BiTNode *rchild;
}BiTNode,*BiTree;
typedef struct SeQueue
{
BiTree data[size]; // 二叉链表类型的指针数组
int front,rear; //队首指针、队尾指针
}SeQ,*SeQue;
// 初始化循环队列
void InitQue(SeQue Q)
{
Q->front=Q->rear=0;
}
// 判队列空
int EmptyQue(SeQue Q)
{
if(Q->front==Q->rear)
return 1;
else
return 0;
}
// 入队列
int EnQue(SeQue Q,BiTree T)
{
if((Q->rear+1)%size==Q->front)
{
printf(“队列已满!\n”); // 队列满,入队失败。
return 0;
}
else
{
Q->rear=(Q->rear+1)%size;
Q->data[Q->rear]=T;
return 1; // 入队列成功
}
}
// 出队列