#include <stdio.h>

#define QUEUE_SIZE 100

int queue[QUEUE_SIZE];
int front = 0;
int rear = 0;

void printQueue() {
    printf("printQueue> ");
    for(int i = front; i < rear; i++) {
        printf("%d ", queue[i]);
    }
    printf("\n");
}

int enQueue(int x) {
    printf("enQueue> front= %d rear= %d\n", front, rear);

    if(rear == QUEUE_SIZE)
        return -1;

    queue[rear] = x;
    rear++;

    return 1;
}

int deQueue() {
    printf("deQueue> front= %d rear= %d\n", front, rear);

    if(front == rear) {
        printf("deQueue> queue empty\n");
        return -1;
    }

    int x = queue[front];
    front++;

    return x;
}
int main() {

    enQueue(1);
    enQueue(2);
    enQueue(3);

    printQueue();

    printf("deQueue: %d\n", deQueue());
    printf("deQueue: %d\n", deQueue());
    printf("deQueue: %d\n", deQueue());
    printf("deQueue: %d\n", deQueue()); 

    return 0;
}