#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+CiNkZWZpbmUgU0laRSAzCgp0eXBlZGVmIHN0cnVjdCB7CglpbnQgYVtTSVpFXTsKCWludCBmcm9udDsKCWludCByZWFyOwp9IFF1ZXVlOwoKdm9pZCBlbnEoUXVldWUqIHEsIGludCB2YWwpIHsKCXEgLT4gYVtxIC0+IHJlYXJdID0gdmFsOwoJcSAtPiByZWFyID0gKHEgLT4gcmVhciArIDEpICUgU0laRTsKfQoKaW50IGRlcShRdWV1ZSogcSkgewoJaW50IHZhbCA9IHEgLT4gYVtxIC0+IGZyb250XTsKCXEgLT4gZnJvbnQgPSAocSAtPiBmcm9udCArIDEpICUgU0laRTsKCXJldHVybiB2YWw7Cn0KCmludCBtYWluKCkgewoJUXVldWUgcSA9IHt7MH0sIDAsIDB9OwoJZW5xKCZxLCAxKTsKCWVucSgmcSwgMik7CglkZXEoJnEpOwoJZW5xKCZxLCAzKTsKCXByaW50ZigiJWQg6re466as6rOgICVkIiwgZGVxKCZxKSwgZGVxKCZxKSk7CglyZXR1cm4gMDsKfQ==