Skip to content

Instantly share code, notes, and snippets.

@na5imuzzaman
Last active July 18, 2017 12:04
Show Gist options
  • Save na5imuzzaman/3091ac9f9edc5dc9500ed39d6ce24b1c to your computer and use it in GitHub Desktop.
Save na5imuzzaman/3091ac9f9edc5dc9500ed39d6ce24b1c to your computer and use it in GitHub Desktop.
Queue Implementation in C++ using Array
/* Nasim */
#include<iostream>
using namespace std;
int arr[10];
int Front = -1,Tail = -1 ,numOfElements = 0;
bool isEmpty()
{
if (numOfElements == 0)
return true;
else
return false;
}
bool isFull()
{
if (numOfElements == 10)
return true;
else
return false;
}
void Enqueue(int n)
{
if (isEmpty())
{
Front = (Front+1)%10; //Enqueue a front kn increment hobe ??
Tail = (Tail+1)%10;
arr[Tail] = n;
numOfElements++;
return;
}
else if (isFull())
{
cout<<"Error : List is full!\n";
return;
}
else
{
Tail = (Tail+1)%10;
arr[Tail] = n;
numOfElements++;
}
}
void Dequeue()
{
if (isEmpty())
{
cout<<"Error : List is empty!\n";
return;
}
else
{
Front = (Front+1)%10;
numOfElements--;
}
}
int peek()
{
return arr[Front];
}
void Prqueue()
{
if (isEmpty())
{
cout<<"Empty\n";
Tail = Front;
return;
}
int f = Front;
int t = Tail;
while(f != t)
{
cout<<arr[f]<<"\t";
f = (f+1)%10;
}
cout<<arr[f]<<"\n";
}
void Prqueue(int n)
{
cout<<"Top Element : "<<peek()<<"\n";
}
int main()
{
Dequeue();
Enqueue(3);
Prqueue();
Dequeue();
Dequeue();
Prqueue();
Enqueue(5);
Prqueue();
Enqueue(6);
Prqueue();
Enqueue(7);
Prqueue();
Dequeue();
Prqueue();
Enqueue(11);
Prqueue();
Enqueue(12);
Prqueue();
Enqueue(13);
Prqueue();
Enqueue(14);
Prqueue();
Enqueue(15);
Prqueue();
Enqueue(16);
Prqueue();
Enqueue(17);
Prqueue();
Enqueue(17);
Prqueue(1);
Dequeue();
Enqueue(3);
Prqueue();
Dequeue();
Enqueue(5);
Prqueue();
Enqueue(6);
Prqueue();
Enqueue(7);
Prqueue();
Dequeue();
Prqueue();
Enqueue(11);
Prqueue();
Enqueue(12);
Prqueue();
Enqueue(13);
Prqueue();
Enqueue(14);
Prqueue();
Enqueue(15);
Prqueue();
Enqueue(16);
Prqueue();
Enqueue(17);
Prqueue();
Enqueue(17);
Prqueue(1);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment