#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#define MaxQueueSize 5
typedef struct{
int data[MaxQueueSize];
int front;
int rear;
}SeQueue;
void InitQueue(SeQueue *sq){
sq->front=sq->rear=0;
}
bool isEmpty(SeQueue *sq){
if(sq->rear==sq->front){
printf("顺序队列为空\n");return true;
}
return false;
}
bool isFull(SeQueue *sq){
if((sq->rear+1)%MaxQueueSize==sq->front){
printf("顺序队列为满\n");return true;
}
return false;
}
void EnQueue(SeQueue *sq,int x)
{
if(isFull(sq)==false)
{
sq->data[sq->rear]=x;
(sq->rear) =(sq->rear+1)%MaxQueueSize;
}
}
void DeQueue(SeQueue *sq)
{
if(!isEmpty(sq)){
printf("删除的元素是:%d\n",sq->data[sq->front]);
sq->front = (sq->front+1)%MaxQueueSize;
}
}
int getHead(SeQueue *sq)
{
if(!isEmpty(sq))
{
return sq->data[sq->front];
}
}
int main(void)
{
SeQueue sq;
InitQueue(&sq);
// EnQueue(&sq,1121);
// EnQueue(&sq,121);
// EnQueue(&sq,1121);
// EnQueue(&sq,1121);
// EnQueue(&sq,11121);
DeQueue(&sq);
// printf("%d\n",getHead(&sq));
system("pause");
return 0;
}