Program for queue operation ,using class object concept.
#include<iostream.h>
#include<conio.h>
class queue
{
public:
int q[50],n,limit,front, rear;
queue()
{
cout<<"\nEnter the limit\n";
cin>>limit;
front=0;
rear=0;
}
void push();
void pop();
void peep();
};
void queue::push()
{
if(rear<limit)
{
cout<<"Enter the data\n";
cin>>q[rear];
rear++;
cout<<"Element inserted\n";
}
else
{
cout<<"\nqueue is full\n";
}
}
void queue::pop()
{
if(front<rear)
{
front++;
cout<<"\nElement is deleted\n";
}
else
{
cout<<"Queue is empty\n";
}
}
void queue::peep()
{
int i;
if(front<rear)
{
cout<<"The queue elements are:";
for(i=front;i<rear;i++)
{
cout<<"\n"<<q[i];
}
}
else
{
cout<<"Queue is empty\n";
}
}
void main()
{
clrscr();
queue ob;
int n,limit;
do
{
cout<<"\nMENU\n\n1.PUSH\n2.POP\n3.PEEP\n4.EXIT\n";
cout<<"\nENTER YOUR CHOICE:";
cin>>n;
switch(n)
{
case 1:ob.push();
break;
case 2:ob.pop();
break;
case 3: ob.peep();
break;
}
}while(n!=4);
getch();
}
what is a queue i?
A queue is a singly linked list that models a first in first out model (just as a queue of diners are dealt with on a first come first served basis). Insertions always occur at the tail of the queue and extractions always at the head.
A variation of the queue is a priority queue where nodes are weighted such that those with higher priority are moved in front of those with lower priority. This is akin to diners who have a reservation being moved to the head of the queue. In this case, insertions always occur at the head but the head node will pass the data onto the next node if the data has lower priority. The process continues until the data has higher priority than the current node at which point is it is placed in front of the current node. If the current node has no next node to pass the data onto, the data becomes the tail node. This is known as an insertion sort.
#include<iostream.h>
#include<conio.h>
class queue
{
public:
int q[50],n,limit,front, rear;
queue()
{
cout<<"\nEnter the limit\n";
cin>>limit;
front=0;
rear=0;
}
void push();
void pop();
void peep();
};
void queue::push()
{
if(rear<limit)
{
cout<<"Enter the data\n";
cin>>q[rear];
rear++;
cout<<"Element inserted\n";
}
else
{
cout<<"\nqueue is full\n";
}
}
void queue::pop()
{
if(front<rear)
{
front++;
push operation in a queue |
}
else
{
cout<<"Queue is empty\n";
}
}
void queue::peep()
{
int i;
if(front<rear)
{
cout<<"The queue elements are:";
for(i=front;i<rear;i++)
{
cout<<"\n"<<q[i];
}
}
else
{
cout<<"Queue is empty\n";
}
}
void main()
{
clrscr();
queue ob;
int n,limit;
do
{
cout<<"\nMENU\n\n1.PUSH\n2.POP\n3.PEEP\n4.EXIT\n";
cout<<"\nENTER YOUR CHOICE:";
cin>>n;
switch(n)
{
case 1:ob.push();
break;
case 2:ob.pop();
break;
case 3: ob.peep();
break;
}
}while(n!=4);
getch();
}
what is a queue i?
A queue is a singly linked list that models a first in first out model (just as a queue of diners are dealt with on a first come first served basis). Insertions always occur at the tail of the queue and extractions always at the head.
A variation of the queue is a priority queue where nodes are weighted such that those with higher priority are moved in front of those with lower priority. This is akin to diners who have a reservation being moved to the head of the queue. In this case, insertions always occur at the head but the head node will pass the data onto the next node if the data has lower priority. The process continues until the data has higher priority than the current node at which point is it is placed in front of the current node. If the current node has no next node to pass the data onto, the data becomes the tail node. This is known as an insertion sort.