#include <stdio.h>
#define SIZE 100
int queue[SIZE];
int front = -1, rear = -1;
void enqueue(int value) {
if (rear == SIZE - 1) {
}
else if (front == -1 && rear == -1) {
front = rear = 0;
queue[rear] = value;
printf("%d enqueued\n", value
); }
else {
rear++;
queue[rear] = value;
printf("%d enqueued\n", value
); }
}
void dequeue() {
if (front == -1 && rear == -1) {
}
else if (front == rear) {
printf("%d dequeued\n", queue
[front
]); front = rear = -1;
}
else {
printf("%d dequeued\n", queue
[front
]); front++;
}
}
void display() {
for (int i = front; i < rear + 1; i++) {
}
}
void peak()
{
printf("Peak element is %d\n", queue
[front
]); }
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
display();
dequeue();
display();
enqueue(40);
display();
peak();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSAxMDAKCmludCBxdWV1ZVtTSVpFXTsKaW50IGZyb250ID0gLTEsIHJlYXIgPSAtMTsKCnZvaWQgZW5xdWV1ZShpbnQgdmFsdWUpIHsKICAgIGlmIChyZWFyID09IFNJWkUgLSAxKSB7CiAgICAgICAgcHJpbnRmKCJPdmVyZmxvd1xuIik7CiAgICB9CiAgICBlbHNlIGlmIChmcm9udCA9PSAtMSAmJiByZWFyID09IC0xKSB7CiAgICAgICAgZnJvbnQgPSByZWFyID0gMDsKICAgICAgICBxdWV1ZVtyZWFyXSA9IHZhbHVlOwogICAgICAgIHByaW50ZigiJWQgZW5xdWV1ZWRcbiIsIHZhbHVlKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHJlYXIrKzsKICAgICAgICBxdWV1ZVtyZWFyXSA9IHZhbHVlOwogICAgICAgIHByaW50ZigiJWQgZW5xdWV1ZWRcbiIsIHZhbHVlKTsKICAgIH0KfQoKdm9pZCBkZXF1ZXVlKCkgewogICAgaWYgKGZyb250ID09IC0xICYmIHJlYXIgPT0gLTEpIHsKICAgICAgICBwcmludGYoIlVuZGVyZmxvd1xuIik7CiAgICB9CiAgICBlbHNlIGlmIChmcm9udCA9PSByZWFyKSB7CiAgICAgICAgcHJpbnRmKCIlZCBkZXF1ZXVlZFxuIiwgcXVldWVbZnJvbnRdKTsKICAgICAgICBmcm9udCA9IHJlYXIgPSAtMTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHByaW50ZigiJWQgZGVxdWV1ZWRcbiIsIHF1ZXVlW2Zyb250XSk7CiAgICAgICAgZnJvbnQrKzsKICAgIH0KfQoKdm9pZCBkaXNwbGF5KCkgewogICAgcHJpbnRmKCJRdWV1ZSBlbGVtZW50czogIik7CiAgICBmb3IgKGludCBpID0gZnJvbnQ7IGkgPCByZWFyICsgMTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlZCAiLCBxdWV1ZVtpXSk7CiAgICB9CiAgICBwcmludGYoIlxuIik7Cn0Kdm9pZCBwZWFrKCkKewogICAgcHJpbnRmKCJQZWFrIGVsZW1lbnQgaXMgJWRcbiIsIHF1ZXVlW2Zyb250XSk7Cn0KCmludCBtYWluKCkgewogICAgZW5xdWV1ZSgxMCk7CiAgICBlbnF1ZXVlKDIwKTsKICAgIGVucXVldWUoMzApOwogICAgZGlzcGxheSgpOwogICAgZGVxdWV1ZSgpOwogICAgZGlzcGxheSgpOwogICAgZW5xdWV1ZSg0MCk7CiAgICBkaXNwbGF5KCk7CiAgICBwZWFrKCk7CgogICAgcmV0dXJuIDA7Cn0KCg==