#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 5
typedef int ElemType;
typedef struct SqQueue {
ElemType data[MaxSize];
int front;
int rear;
}SqQueue;
void InitQueue(SqQueue& Q) {
Q.front = Q.rear = 0;
}
bool EmptySqQ(SqQueue Q) {
if (Q.front == Q.rear) {
return true;
}
return false;
}
bool Enqueue(SqQueue& Q,ElemType x) {
if ((Q.rear + 1) % MaxSize == Q.front) {
return false;
}
Q.data[Q.rear] = x;
Q.rear = (Q.rear + 1) % MaxSize;
return true;
}
bool DeQueue(SqQueue& Q, ElemType& x) {
if (Q.rear == Q.front) {
return false;
}
x = Q.data[Q.front];
Q.front = (Q.front + 1) % MaxSize;
return true;
}
int main() {
SqQueue Q;
int x;
bool ret;
ElemType element;
InitQueue(Q);
ret = EmptySqQ(Q);
if (ret) {
printf("队列为空\n");
}
else {
printf("队列不为空\n");
}
Enqueue(Q, 2);
Enqueue(Q, 5);
Enqueue(Q, 1);
ret=DeQueue(Q, x);
if (ret) {
printf("弹出值为:%d\n",x);
}
else {
printf("GG\n");
}
return 0;
}