#include<stdio.h>
#define SIZE 100
int queue[SIZE];
int front=0;
int rear=0;
void enQueue(int data){
printf("enQueue> front= %d rear= %d\n",front
,rear
); if(rear>=SIZE)return;
queue[rear]=data;
rear++;
}
int deQueue(void){
printf("deQueue> front= %d rear= %d\n",front
,rear
); if(front==rear){
printf("deQueue> queue empty\n"); return-1;
}
return queue[front++];
}
void printQueue(void){
int i=0;
for(i
=front
;i
<rear
;i
++)printf("%d ",queue
[i
]); }
int main(void){
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;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBTSVpFIDEwMAppbnQgcXVldWVbU0laRV07CmludCBmcm9udD0wOwppbnQgcmVhcj0wOwoKdm9pZCBlblF1ZXVlKGludCBkYXRhKXsKcHJpbnRmKCJlblF1ZXVlPiBmcm9udD0gJWQgcmVhcj0gJWRcbiIsZnJvbnQscmVhcik7CmlmKHJlYXI+PVNJWkUpcmV0dXJuOwpxdWV1ZVtyZWFyXT1kYXRhOwpyZWFyKys7Cn0KCmludCBkZVF1ZXVlKHZvaWQpewpwcmludGYoImRlUXVldWU+IGZyb250PSAlZCByZWFyPSAlZFxuIixmcm9udCxyZWFyKTsKaWYoZnJvbnQ9PXJlYXIpewpwcmludGYoImRlUXVldWU+IHF1ZXVlIGVtcHR5XG4iKTsKcmV0dXJuLTE7Cn0KcmV0dXJuIHF1ZXVlW2Zyb250KytdOwp9Cgp2b2lkIHByaW50UXVldWUodm9pZCl7CmludCBpPTA7CnByaW50ZigicHJpbnRRdWV1ZT4gIik7CmZvcihpPWZyb250O2k8cmVhcjtpKyspcHJpbnRmKCIlZCAiLHF1ZXVlW2ldKTsKcHJpbnRmKCJcbiIpOwp9CgppbnQgbWFpbih2b2lkKXsKZW5RdWV1ZSgxKTsKZW5RdWV1ZSgyKTsKZW5RdWV1ZSgzKTsKcHJpbnRRdWV1ZSgpOwpwcmludGYoImRlUXVldWU6ICVkXG4iLGRlUXVldWUoKSk7CnByaW50ZigiZGVRdWV1ZTogJWRcbiIsZGVRdWV1ZSgpKTsKcHJpbnRmKCJkZVF1ZXVlOiAlZFxuIixkZVF1ZXVlKCkpOwpwcmludGYoImRlUXVldWU6ICVkXG4iLGRlUXVldWUoKSk7CnJldHVybiAwOwp9