#include<iostream>
#define MaxSize 1000
struct queue {
int* data;
int front;
int rear;
};
struct queue* createQueue() {
struct queue* p = new queue;
if (p == NULL) {
return nullptr;
}
p->data = new int[MaxSize];
if (p->data == nullptr) {
return nullptr;
}
p->front = p->rear = 0;
return p;
}
bool isEmpty(struct queue* queue) {
return queue->front == queue->rear;
}
bool isFull(struct queue* queue) {
return ((queue->rear + 1) % MaxSize) == queue->front;
}
int getSize(struct queue* queue) {
return (queue->rear - queue->front + MaxSize) % MaxSize;
}
bool enQueue(struct queue* queue, int x) {
if (isFull(queue)) {
return false;
}
if (queue == nullptr) {
return false;
}
else {
queue->data[queue->rear] = x;
queue->rear = ((queue->rear + 1) % MaxSize);
return true;
}
}
bool deQueue(struct queue* queue) {
if (queue == nullptr) {
return false;
}
else {
int x;
x = queue->data[queue->front];
queue->front = ((queue->front + 1) % MaxSize);
return true;
}
}
int main() {
return 0;
}