#include<iostream>

//顺序队列
#define maxSize 100

using namespace std;

typedef struct 
{
         int data[maxSize];
         int  front;
         int rear;
}SqQueue;          

void initQueue(SqQueue &qu)
{
        qu.front=qu.rear=0;
}

int QueueEmpty(SqQueue qu)
{
        if(qu.front==qu.rear)
              return 1;
        else
              return 0;

         return 2;
}

//进队rear向后移动,出队front向后移动
int enQueue(SqQueue &qu,int x)
{
        if((qu.rear+1)%maxSize==qu.front)//顺序队列队满的条件
              return 0;
        qu.rear=(qu.rear+1)%maxSize;//队尾指针rear后移
        x=qu.data[qu.rear];

        return 1;
}

int deQueue(SqQueue &qu,int &x)
{
         if(qu.front==qu.rear)
                  return 0;
         qu.front=(qu.front+1)%maxSize;//front后移
          x=qu.data[qu.front];

          return 1;
       
}

int main()
{
        SqQueue Queue1;//Queue1相当于数组名
         initQueue(Queue1);
         QueueEmpty(Queue1);
         int a=5;
         enQueue(Queue1,a);

          int b=0;
          deQueue(Queue1,b);  

          return 0;


}