#include <stdio.h>
#include <stdlib.h>
#define QUEUE_SIZE 100
typedef int element;
element queue[QUEUE_SIZE]; // 큐 배열 선언
int front = -1, rear = -1; // front와 rear 초기화
int isEmpty() {
return front == rear;
}
int isFull() {
return rear == QUEUE_SIZE - 1;
}
void enqueue(element item) {
if (isFull()) {
return;
}
queue[++rear] = item;
}
element dequeue() {
if (isEmpty()) {
printf("\nQueue is Empty!\n"); return -1;
}
return queue[++front];
}
element peek() {
if (isEmpty()) {
printf("\nQueue is Empty!\n"); }
return queue[front + 1];
}
void printQueue() {
if (isEmpty()) {
printf("\nQueue is Empty!\n"); return;
}
for (int i = front + 1; i <= rear; i++) {
}
}
int main(void) {
element item;
printQueue();
enqueue(10); printQueue();
enqueue(20); printQueue();
enqueue(30); printQueue();
item = peek();
item = dequeue();
printQueue();
printf("\tdequeue => %d\n", item
);
item = dequeue();
printQueue();
printf("\tdequeue => %d\n", item
);
item = dequeue();
printQueue();
printf("\tdequeue => %d\n", item
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2RlZmluZSBRVUVVRV9TSVpFIDEwMAoKdHlwZWRlZiBpbnQgZWxlbWVudDsKZWxlbWVudCBxdWV1ZVtRVUVVRV9TSVpFXTsgIC8vIO2BkCDrsLDsl7Qg7ISg7Ja4CmludCBmcm9udCA9IC0xLCByZWFyID0gLTE7ICAvLyBmcm9udOyZgCByZWFyIOy0iOq4sO2ZlAoKaW50IGlzRW1wdHkoKSB7CiAgICByZXR1cm4gZnJvbnQgPT0gcmVhcjsKfQoKaW50IGlzRnVsbCgpIHsKICAgIHJldHVybiByZWFyID09IFFVRVVFX1NJWkUgLSAxOwp9Cgp2b2lkIGVucXVldWUoZWxlbWVudCBpdGVtKSB7CiAgICBpZiAoaXNGdWxsKCkpIHsKICAgICAgICBwcmludGYoIlxuUXVldWUgaXMgRnVsbCFcbiIpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHF1ZXVlWysrcmVhcl0gPSBpdGVtOwp9CgplbGVtZW50IGRlcXVldWUoKSB7CiAgICBpZiAoaXNFbXB0eSgpKSB7CiAgICAgICAgcHJpbnRmKCJcblF1ZXVlIGlzIEVtcHR5IVxuIik7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQogICAgcmV0dXJuIHF1ZXVlWysrZnJvbnRdOwp9CgplbGVtZW50IHBlZWsoKSB7CiAgICBpZiAoaXNFbXB0eSgpKSB7CiAgICAgICAgcHJpbnRmKCJcblF1ZXVlIGlzIEVtcHR5IVxuIik7CiAgICAgICAgZXhpdCgxKTsKICAgIH0KICAgIHJldHVybiBxdWV1ZVtmcm9udCArIDFdOwp9Cgp2b2lkIHByaW50UXVldWUoKSB7CiAgICBpZiAoaXNFbXB0eSgpKSB7CiAgICAgICAgcHJpbnRmKCJcblF1ZXVlIGlzIEVtcHR5IVxuIik7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgcHJpbnRmKCJcblF1ZXVlIFsgIik7CiAgICBmb3IgKGludCBpID0gZnJvbnQgKyAxOyBpIDw9IHJlYXI7IGkrKykgewogICAgICAgIHByaW50ZigiJWQgIiwgcXVldWVbaV0pOwogICAgfQogICAgcHJpbnRmKCJdXG4iKTsKfQoKaW50IG1haW4odm9pZCkgewogICAgZWxlbWVudCBpdGVtOwogICAgCiAgICBwcmludGYoIu2BkCDsl7DsgrBcbiIpOwogICAgcHJpbnRRdWV1ZSgpOwogICAgCiAgICBlbnF1ZXVlKDEwKTsgcHJpbnRRdWV1ZSgpOwogICAgZW5xdWV1ZSgyMCk7IHByaW50UXVldWUoKTsKICAgIGVucXVldWUoMzApOyBwcmludFF1ZXVlKCk7CiAgICAKICAgIGl0ZW0gPSBwZWVrKCk7CiAgICBwcmludGYoInBlZWsgPT4gJWRcbiIsIGl0ZW0pOwogICAgCiAgICBpdGVtID0gZGVxdWV1ZSgpOwogICAgcHJpbnRRdWV1ZSgpOwogICAgcHJpbnRmKCJcdGRlcXVldWUgPT4gJWRcbiIsIGl0ZW0pOwogICAgCiAgICBpdGVtID0gZGVxdWV1ZSgpOwogICAgcHJpbnRRdWV1ZSgpOwogICAgcHJpbnRmKCJcdGRlcXVldWUgPT4gJWRcbiIsIGl0ZW0pOwogICAgCiAgICBpdGVtID0gZGVxdWV1ZSgpOwogICAgcHJpbnRRdWV1ZSgpOwogICAgcHJpbnRmKCJcdGRlcXVldWUgPT4gJWRcbiIsIGl0ZW0pOwogICAgCiAgICByZXR1cm4gMDsKfQo=