#include <stdio.h>
#define QUEUE_SIZE 100
int queue[QUEUE_SIZE];
int front = 0;
int rear = 0;
void printQueue() {
for(int i = front; i < rear; i++) {
}
}
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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFFVRVVFX1NJWkUgMTAwCgppbnQgcXVldWVbUVVFVUVfU0laRV07CmludCBmcm9udCA9IDA7CmludCByZWFyID0gMDsKCnZvaWQgcHJpbnRRdWV1ZSgpIHsKICAgIHByaW50ZigicHJpbnRRdWV1ZT4gIik7CiAgICBmb3IoaW50IGkgPSBmcm9udDsgaSA8IHJlYXI7IGkrKykgewogICAgICAgIHByaW50ZigiJWQgIiwgcXVldWVbaV0pOwogICAgfQogICAgcHJpbnRmKCJcbiIpOwp9CgppbnQgZW5RdWV1ZShpbnQgeCkgewogICAgcHJpbnRmKCJlblF1ZXVlPiBmcm9udD0gJWQgcmVhcj0gJWRcbiIsIGZyb250LCByZWFyKTsKCiAgICBpZihyZWFyID09IFFVRVVFX1NJWkUpCiAgICAgICAgcmV0dXJuIC0xOwoKICAgIHF1ZXVlW3JlYXJdID0geDsKICAgIHJlYXIrKzsKCiAgICByZXR1cm4gMTsKfQoKaW50IGRlUXVldWUoKSB7CiAgICBwcmludGYoImRlUXVldWU+IGZyb250PSAlZCByZWFyPSAlZFxuIiwgZnJvbnQsIHJlYXIpOwoKICAgIGlmKGZyb250ID09IHJlYXIpIHsKICAgICAgICBwcmludGYoImRlUXVldWU+IHF1ZXVlIGVtcHR5XG4iKTsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CgogICAgaW50IHggPSBxdWV1ZVtmcm9udF07CiAgICBmcm9udCsrOwoKICAgIHJldHVybiB4Owp9CmludCBtYWluKCkgewoKICAgIGVuUXVldWUoMSk7CiAgICBlblF1ZXVlKDIpOwogICAgZW5RdWV1ZSgzKTsKCiAgICBwcmludFF1ZXVlKCk7CgogICAgcHJpbnRmKCJkZVF1ZXVlOiAlZFxuIiwgZGVRdWV1ZSgpKTsKICAgIHByaW50ZigiZGVRdWV1ZTogJWRcbiIsIGRlUXVldWUoKSk7CiAgICBwcmludGYoImRlUXVldWU6ICVkXG4iLCBkZVF1ZXVlKCkpOwogICAgcHJpbnRmKCJkZVF1ZXVlOiAlZFxuIiwgZGVRdWV1ZSgpKTsgCgogICAgcmV0dXJuIDA7Cn0=