#include <stdio.h>
#define SIZE 3
typedef struct {
int a[SIZE];
int front;
int rear;
} Queue;
void enq(Queue* q, int val) {
q -> a[q -> rear] = val;
q -> rear = (q -> rear + 1) % SIZE;
}
int deq(Queue* q) {
int val = q -> a[q -> front];
q -> front = (q -> front + 1) % SIZE;
return val;
}
int main() {
Queue q = {{0}, 0, 0};
enq(&q, 1);
enq(&q, 2);
deq(&q);
enq(&q, 3);
printf("%d 그리고 %d", deq
(&q
), deq
(&q
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSAzCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgYVtTSVpFXTsKICAgIGludCBmcm9udDsKICAgIGludCByZWFyOwp9IFF1ZXVlOwoKdm9pZCBlbnEoUXVldWUqIHEsIGludCB2YWwpIHsKICAgIHEgLT4gYVtxIC0+IHJlYXJdID0gdmFsOwogICAgcSAtPiByZWFyID0gKHEgLT4gcmVhciArIDEpICUgU0laRTsKfQoKaW50IGRlcShRdWV1ZSogcSkgewogICAgaW50IHZhbCA9IHEgLT4gYVtxIC0+IGZyb250XTsKICAgIHEgLT4gZnJvbnQgPSAocSAtPiBmcm9udCArIDEpICUgU0laRTsKICAgIHJldHVybiB2YWw7Cn0KCmludCBtYWluKCkgewogICAgUXVldWUgcSA9IHt7MH0sIDAsIDB9OwogICAgZW5xKCZxLCAxKTsKICAgIGVucSgmcSwgMik7CiAgICBkZXEoJnEpOwogICAgZW5xKCZxLCAzKTsKICAgIHByaW50ZigiJWQg6re466as6rOgICVkIiwgZGVxKCZxKSwgZGVxKCZxKSk7CiAgICByZXR1cm4gMDsKfQ==