C++ Program to Implement Queue using Array: A queue is an abstract data structure that contains a collection of elements. Queue implements the FIFO mechanism i.e. the element that is inserted first is also deleted first. In other words, the least recently added element is removed first in a queue.
C++ Program to Implement Queue using Array
#include<iostream>
#include<windows.h>
using namespace std;
// Queue for array
void enqueue(int);
void dequeue();
int isempty();
int isfull();
void array_call();
void show();
const int total = 5;
int marks[total];
int rear = -1; //rear mean last element of queue
int front = 0;//front mean first element of queue
int counter = 0;
int main()
{
array_call();
return 0;
}
// function of Array
void array_call()
{
start:
system("cls");
cout << "\t\t\t\t Welcome in Queue with Array";
int input;
cout << "\n 1- Enqueu \n 2- Dequeu \n 3- Front\n 4- Show all data \n 5- Exit from Queue in Array \n";
cin >> input;
switch (input)
{
case 1:
{int z; z = isfull();
if (z)
{
int y;//y is input whiich you insert in queue
cout << "Enter you number: ";
cin >> y;
enqueue(y);
cout << " Number entered \n";
system("pause");
}
else
{
cout << "Your Queue is full \n";
system("pause");
}
goto start;
break;
}
case 2:
{ int a; a = isempty();
if (a)
{
dequeue();
cout << "Number deleted \n ";
system("pause");
}
else
{
cout << "Your Queue is Empty \n";
system("pause");
}
goto start;
break;
}
case 3:
{
int a; a = isempty();
if (a)
cout << "\n Your front value is " << marks[front]<<endl;
else
cout << "Your Queue is Empty"<<endl;
system("pause");
goto start;
break;
}
case 4:
{
int a; a = isempty();
if (a)
show();
else
cout << "Your Queue is Empty"<<endl;
system(" pause");
goto start;
}
case 5:
{
break;
}
default:
cout << "\n You enter invalid Number \n";
system("pause");
goto start;
break;
}
}
void enqueue(int x)
{
rear = (rear + 1) % total;
marks[rear] = x;
counter = counter + 1;
}
void dequeue()
{
front = (front + 1) % total;
counter = counter - 1;
}
int isempty()
{
return(counter != 0);
}
int isfull()
{
return(counter != total);
}
void show()
{
int j = front;
for (int i = 0; i < counter; i++)
{
cout << " " << marks[j];
j++;
j = j%total;
}
}
Output of Program
Welcome in Queue with Array
1- Enqueu
2- Dequeu
3- Front
4- Show all data
5- Exit from Queue in Array
2
Your Queue is Empty