#include<stdio.h>
#define sz 100
int arr[sz],last=0;
void Enqueue(int val)
{
if(last>=sz)
printf("No more space on Queue.\n");
else
arr[last++]=val;
}
void Dequeue()
{
if(last<=0)
{
printf("Queue is empty\n");
}
else
{
printf("Removed element: %d\n",arr[0]);
//Shift All element left
for(int i=1;i<last;i++)
arr[i-1]=arr[i];
last--;
}
}
void printlist()
{
int i;
for(i=0;i<last;i++)
printf("%d ",arr[i]);
puts("");
}
int main()
{
int num,val;
bool getout=false;
while(true)
{
printf("Enter your choice:\n");
printf("1. Enqueue\n2. Dequeue\n3. Exit\n");
scanf("%d",&num);
switch(num)
{
case 1:
scanf("%d",&val);
Enqueue(val);
printlist();
puts("");
break;
case 2:
Dequeue();
printlist();
puts("");
break;
case 3:
getout=true;
break;
}
if(getout==true)
break;
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBzeiAxMDAKCmludCBhcnJbc3pdLGxhc3Q9MDsKCnZvaWQgRW5xdWV1ZShpbnQgdmFsKQp7CiAgICBpZihsYXN0Pj1zeikKICAgICAgICBwcmludGYoIk5vIG1vcmUgc3BhY2Ugb24gUXVldWUuXG4iKTsKICAgIGVsc2UKICAgICAgICBhcnJbbGFzdCsrXT12YWw7Cn0KCnZvaWQgRGVxdWV1ZSgpCnsKICAgIGlmKGxhc3Q8PTApCiAgICB7CiAgICAgICAgcHJpbnRmKCJRdWV1ZSBpcyBlbXB0eVxuIik7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgcHJpbnRmKCJSZW1vdmVkIGVsZW1lbnQ6ICVkXG4iLGFyclswXSk7CiAgICAgICAgLy9TaGlmdCBBbGwgZWxlbWVudCBsZWZ0CiAgICAgICAgZm9yKGludCBpPTE7aTxsYXN0O2krKykKICAgICAgICAgICAgYXJyW2ktMV09YXJyW2ldOwogICAgICAgIGxhc3QtLTsKICAgIH0KfQoKdm9pZCBwcmludGxpc3QoKQp7CiAgICBpbnQgaTsKICAgIGZvcihpPTA7aTxsYXN0O2krKykKICAgICAgICBwcmludGYoIiVkICIsYXJyW2ldKTsKICAgIHB1dHMoIiIpOwp9CgppbnQgbWFpbigpCnsKICAgIGludCBudW0sdmFsOwoJYm9vbCBnZXRvdXQ9ZmFsc2U7CgoJd2hpbGUodHJ1ZSkKCXsKCSAgICBwcmludGYoIkVudGVyIHlvdXIgY2hvaWNlOlxuIik7CgkgICAgcHJpbnRmKCIxLiBFbnF1ZXVlXG4yLiBEZXF1ZXVlXG4zLiBFeGl0XG4iKTsKCSAgICBzY2FuZigiJWQiLCZudW0pOwoKCQlzd2l0Y2gobnVtKQoJCXsKICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgc2NhbmYoIiVkIiwmdmFsKTsKCiAgICAgICAgICAgICAgICBFbnF1ZXVlKHZhbCk7CgogICAgICAgICAgICAgICAgcHJpbnRsaXN0KCk7CiAgICAgICAgICAgICAgICBwdXRzKCIiKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBEZXF1ZXVlKCk7CgogICAgICAgICAgICAgICAgcHJpbnRsaXN0KCk7CiAgICAgICAgICAgICAgICBwdXRzKCIiKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICBnZXRvdXQ9dHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwoJCX0KCiAgICAgICAgaWYoZ2V0b3V0PT10cnVlKQogICAgICAgICAgICBicmVhazsKCX0KCglyZXR1cm4gMDsKfQoK