Untitled

 avatar
unknown
plain_text
a year ago
1.8 kB
2
Indexable
#include<iostream>
using namespace std;
int queue[3];
int front=-1, rear=-1, n=5;
void insertQ(int value) {
   if ((front==0 && rear== n-1) || (front==rear+1)) {
      cout<<"Queue Overflow"<<endl;
      return;
   }
   if(front==-1) {
      front=0;
      rear=0;
   } 
   else {
      if (rear==n-1)
      rear= 0;
      else
      rear=rear+1;
   }
   queue[rear]=value ;
}
void deleteQ() {
   if (front==-1) {
      cout<<"Queue Underflow";
      return ;
   }
   cout<<"Element deleted from queue:"<<endl<<queue[front]<<endl;

   if (front==rear) {
      front=-1;
      rear=-1;
   } else{
      if (front==n-1)
      front=0;
      else
      front=front+1;
   }
}
void displayQ() {
   int f=front, r=rear;
   if (front==-1) {
      cout<<"Queue is empty"<<endl;
      return;
   }
   cout<<"Queue elements are:\n";
   if (f<=r) {
      while (f<=r){
         cout<<queue[f];
         f++;
      }
   } else {
      while (f<=n-1) {
         cout<<queue[f];
         f++;
      }
      f=0;
      while (f<=r) {
         cout<<queue[f];
         f++;
      }
   }
   cout<<endl;
}
int main(){
    int ch,value;
    cout<<"1 for enqueue"<<endl;
    cout<<"2 for dequeue"<<endl;
    cout<<"3 for print"<<endl;
    cout<<"4 for exit"<<endl;
    
    do{
        cout<<"enter operation you want to perform"<<endl;
        cin>>ch;
 switch(ch) {
         case 1:
         cout<<"Input for insertion: "<<endl;
         cin>>value;
         
         insertQ(value);
         break;

         case 2:
         deleteQ();
         break;
        
         case 3:
         displayQ();
         break;

         case 4:
         cout<<"Exit";
         break;
         
        default: cout<<"wrong\n";
      }
   } while(ch!=4);
   return 0;
}
Editor is loading...
Leave a Comment