Professional Documents
Culture Documents
Queue
Queue
LAB TASK
Lab Task 01: Create a menu driven program, to form a Linear Queue using array max size
=5, which perform the following operations on queue:
addq( ) // add element into queue
delq( ) // delete element from
queue.
displayq( ) // display the elements of queue
CODE:
#include <iostream>
#include<cstdlib>
#include<cstddef>
using namespace std;
int queue[5];
int front = - 1;
int rear = - 1;
void enqueue() {
int data;
if (rear == - 1)
cout<<"Queue Overflow"<<endl;
else {
if (front == - 1)
front = 0;
cout<<"Insert the element in queue : "<<endl;
cin>>data;
rear++;
queue[rear] = data;
}
}
void dequeue() {
if (front == - 1 || front > rear) {
cout<<"Queue Underflow ";
return ;
} else {
cout<<"Element deleted from queue is : "<< queue[front] <<endl;
front++;;
}
}
void Display() {
if (front == - 1)
cout<<"Queue is empty"<<endl;
else {
cout<<"Queue elements are : ";
for (int i = front; i <= rear; i++)
cout<<queue[i]<<" ";
cout<<endl;
}
}
int main() {
int ch;
cout<<"1) Insert element to queue"<<endl;
cout<<"2) Delete element from queue"<<endl;
cout<<"3) Display all the elements of queue"<<endl;
cout<<"4) Exit"<<endl;
do {
cout<<"Enter your choice : "<<endl;
cin>>ch;
switch (ch) {
case 1: enqueue();
break;
case 2: dequeue();
break;
case 3: Display();
break;
case 4: cout<<"Exit"<<endl;
break;
default: cout<<"Invalid choice"<<endl;
}
} while(ch!=4);
return 0;
}
Output:
Lab Task 02: Create a menu driven program, to form a Circular Queue using
array max size =5, which perform the following operations on queue:
addq( ) // add element into queue
delq( ) // delete element from
queue.
displayq( ) // display the elements of queue
Code:
#include<iostream>
#include<cstdlib>
#include<cstddef>
using namespace std;
class Queue {
public:
Queue(int siz) {
front = rear = -1;
size = siz;
circular_queue = new int[siz];
}
void enqueue(int element);
int dequeue();
void display();
};
return data;
}
void Queue::display()
{
if (front == -1) {
cout<<"\nQueue is Empty"<<endl;
return;
}
cout<<"\nCircular Queue elements: ";
if (rear == front) {
for (int i = front; i <= rear; i++)
cout<<circular_queue[i]<<" ";
}
else {
for (int i = front; i<size; i++)
cout<<circular_queue[i]<<" ";
for (int i = 0; i <= rear; i++)
cout<<circular_queue[i]<<" ";
}
}
int main()
{
Queue pq(5);
pq.enqueue(2);
pq.enqueue(4);
pq.enqueue(6);
pq.enqueue(8);
pq.enqueue(10);
pq.display();
pq.dequeue();
pq.dequeue();
pq.display();
return 0;
}
Output: