Queue using C++

No comments

#include<iostream>
using namespace std;

class Queue
{
int *a;
int front;
int rear;
int size;
public:

Queue(int );
~Queue( )
{
delete []a;
}
void enque(int );
int deque(int &);
void show()
{

cout<<endl;
}
};

Queue::Queue(int s)
{
size = s;
front = rear = 0;
a = new int[size];
}
void Queue::enque(int x)
{
int s = (rear + 1) % size;
if(s == front)
{
cout<<"queue is full\n";
return;
}
rear = s;
a[rear] = x;
}

int Queue::deque(int &x)
{
if(front == rear)
{
cout<<"Queue is empty\n";
return -1;
}
front++;
front %= size;
x = a[front];
return 0;
}

void main()
{
int choice;
Queue s1(5),s2(3);
int x;
do{
cout<<"1. enque\n2. deque\n3. show\n4. exit\nenter a choice:";
cin>>choice;
switch(choice)
{
case 1:

cin>>x;
s1.enque(x);
break;
case 2:
int y ;
y = s1.deque(x);
if(y != -1)
cout<<x<<"\n";
break;
case 3:
s1.show();
break;
case 4:
break;
default:
cout<<"invalid choice.\n";
break;
}
}while(choice != 4);
}

No comments :

Post a Comment