You are on page 1of 8

REPORT TITLE:

Queue & C++ Program


to Implement Queue
using Array

2019-2020
College of Engineering
Mustansiriyah University

Department: computer engineering


Student Name: ‫حيدر عبد احلكيم مزهر‬

Stage: First Stage


Study: Evening
Class: 1
Course Name: data structure
Email: haydarx030@gmail.com

Page 1 of 8
: :‫القسم‬ ‫كلية الهندسة – الجامعة المستنصرية‬
‫الشعبة‬ ‫المرحلة‬ :‫االسم‬

Introduction to queue
Queue is a data structure designed to operate in FIFO (First in First out)
context. In queue elements are inserted from rear end and get removed
from front end.
Queue class is container adapter. Container is an objects that hold data
of same type. Queue can be created from different sequence containers.
Container adapters do not support iterators therefore we cannot use them
for data manipulation. However they support push() and pop() member
functions for data insertion and deletion respectively.

C++ Program to Implement Queue using Array


A program that implements the queue using an array is given as follows

Example
#include <iostream>

using namespace std;

int queue[100], n = 100, front = - 1, rear = - 1;

void Insert() {

int val;

if (rear == n - 1)

cout<<"Queue Overflow"<<endl;

else {

if (front == - 1)

front = 0;

cout<<"Insert the element in queue : "<<endl;

cin>>val;

Page 2 of 8
: :‫القسم‬ ‫كلية الهندسة – الجامعة المستنصرية‬
‫الشعبة‬ ‫المرحلة‬ :‫االسم‬
rear++;

queue[rear] = val;

void Delete() {

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;

Page 3 of 8
: :‫القسم‬ ‫كلية الهندسة – الجامعة المستنصرية‬
‫الشعبة‬ ‫المرحلة‬ :‫االسم‬
cout<<"4) Exit"<<endl;

do {

cout<<"Enter your choice : "<<endl;

cin<<ch;

switch (ch) {

case 1: Insert();

break;

case 2: Delete();

break;

case 3: Display();

break;

case 4: cout<<"Exit"<<endl;

break;

default: cout<<"Invalid choice"<<endl;

} while(ch!=4);

return 0;

The output of the above program is as follows


1) Insert element to queue
2) Delete element from queue
3) Display all the elements of queue
4) Exit
Enter your choice : 1
Insert the element in queue : 4
Enter your choice : 1
Insert the element in queue : 3
Enter your choice : 1
Insert the element in queue : 5
Enter your choice : 2
Element deleted from queue is : 4
Enter your choice : 3
Queue elements are : 3 5
Enter your choice : 7
Invalid choice
Page 4 of 8
: :‫القسم‬ ‫كلية الهندسة – الجامعة المستنصرية‬
‫الشعبة‬ ‫المرحلة‬ :‫االسم‬
Enter your choice : 4
Exit

In the above program, the function Insert() inserts an element into the
queue. If the rear is equal to n-1, then the queue is full and overflow is
displayed. If front is -1, it is incremented by 1. Then rear is incremented
by 1 and the element is inserted in index of rear. This is shown below −
void Insert() {

int val;

if (rear == n - 1)

cout<<"Queue Overflow"<<endl;

else {

if (front == - 1)

front = 0;

cout<<"Insert the element in queue : "<<endl;

cin>>val;

rear++;

queue[rear] = val;

In the function Delete(), if there are no elements in the queue then it is


underflow condition. Otherwise the element at front is displayed and
front is incremented by one. This is shown below −
void Delete() {

if (front == - 1 || front > rear) {

cout<<"Queue Underflow ";

return ;

Page 5 of 8
: :‫القسم‬ ‫كلية الهندسة – الجامعة المستنصرية‬
‫الشعبة‬ ‫المرحلة‬ :‫االسم‬
}

else {

cout<<"Element deleted from queue is : "<< queue[front] <<endl;

front++;;

In the function display(), if front is -1 then queue is empty. Otherwise all


the queue elements are displayed using a for loop. This is shown below −
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;

The function main() provides a choice to the user if they want to insert,
delete or display the queue. According to the user response, the
appropriate function is called using switch. If the user enters an invalid
response, then that is printed. The code snippet for this is given below −
int main() {

int ch;

cout<<"1) Insert element to queue"<<endl;

cout<<"2) Delete element from queue"<<endl;


Page 6 of 8
: :‫القسم‬ ‫كلية الهندسة – الجامعة المستنصرية‬
‫الشعبة‬ ‫المرحلة‬ :‫االسم‬
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: Insert();

break;

case 2: Delete();

break;

case 3: Display();

break;

case 4: cout<<"Exit"<<endl;

break;

default: cout<<"Invalid choice"<<endl;

} while(ch!=4);

return 0;

Page 7 of 8
‫‪:‬‬ ‫القسم‪:‬‬ ‫كلية الهندسة – الجامعة المستنصرية‬
‫الشعبة‬ ‫المرحلة‬ ‫االسم‪:‬‬

‫‪Page 8 of 8‬‬

You might also like