Introducing Radical.sh

Forget Code launches a powerful code generator for building API's

Implement Queue using array in C++

#include <iostream>
#define size 5
#include <stdlib.h>
using namespace::std;

struct que {
int arr[size];
int front;
int rear;
}q;

int enqueue () {
if( q.rear==size-1) {
if(q.front == 0 ) {
cout <<"\n\t No space";
return 0;
}
else {
int i=0;
while(q.front<=q.rear) {
q.arr[i++] = q.arr[q.front++];
}
q.front = 0;
q.rear = --i;
}
}
int item;
cout<<"\n\t Enter item: ";
cin>>item;
q.arr[++q.rear] = item;
return 0;
}

int dequeue () {
if(q.rear == -1) {
cout<<"\n\t No element to delete";
return 0;
}
q.arr[q.front++] = 0;
if(q.rear < q.front) {
q.rear = -1;
q.front = 0;
}
return 0;
}

int display () { cout<<"\n\t";
for(int i=q.rear;i>=q.front;i--)
cout<<q.arr[i]<<"->";
cout<<"\b\b";
cout<<" ";
cout<<"\b\b";
return 0;
}

main() { q.front = 0; q.rear = -1;
char choice;

while(1){
cout<<"\n\n 1.Enqueue"<<"\n 2.Dequeue"<<"\n 3.Display"<<"\n 4.Exit\n\t";
cin>>choice;
system("cls");
switch(choice) {
case '1' : {enqueue();
break;
}
case '2' : {dequeue();
break;
}
case '3' : {display();
break;
}
case '4' : exit(0);
default : continue;
}
}
return 0;
}