using namespace std;
class _queue_
{
int queue[50];
int maxsize;
int front;
int rear;
public:
_queue_()
{
front=-1;
rear=-1;
maxsize=0;
}
_queue_(int size)
{
front=-1;
rear=-1;
maxsize=size;
}
void insert_item(int item);
int delete_item();
void display();
};
void _queue_::insert_item(int item)
{
if(front==(rear+1)%maxsize)
{
cout<<"overflow"<<endl;
exit(0);
}
else
{
if(rear==-1)
front=(front+1)%maxsize;
rear=(rear+1)%maxsize;
queue[rear]=item;
}
}
int _queue_::delete_item()
{
int item;
if(front==-1&&rear==-1)
{
cout<<"Queue is empty\n";
exit(0);
}
else if(front>rear)
{
cout<<"Queue underflow\n";
exit(0);
}
else
{
item=queue[front];
front++;
}
return item;
}
void _queue_::display()
{
for(int i=front;i<=rear;i++)
{
cout<<"\n"<<queue[i];
}
}
int main()
{
_queue_ stl(10);
int a,choice,item;
while(1)
{
cout<<"Enter your choice\nEnter 1 for insertion\nEnter 2 for deletion\nEnter 3 for diplay theq queue\nEnter 4 for exit\n";
cin>>choice;
switch(choice)
{
case 1:
cout<<"Enter the item\n";
cin>>item;
stl.insert_item(item);
break;
case 2:
stl.delete_item();
break;
case 3:
stl.display();
break;
case 4:
a=stl.delete_item();
cout<<"deleted data is:"<<a<<endl;;
break;
default:
cout<<"invalid entry\n";
}
}
return 0;
}
Comments