Skip to main content

Queue using C++(Struct)

 Q). Implement Queue using struct in c++


=> Prog :

#include<iostream>

#include<iomanip>

using namespace std;

#define MAX 5



typedef struct queue_type{


  int arr[MAX]={0,0,0,0,0};

  int frontSide;

  int rearSide;


}node;



void insertVal(int item,node * ptr);


int deleteVal(node *ptr);


void display(node *ptr);


int main(){


char ch;

int choice,item;

node queueNode;


queueNode.frontSide=-1;

queueNode.rearSide=-1;


do{


    cout<<"\n************* please press below key for that option *************\n\n";

    cout<<"1.Insert Value in Queue \n";

    cout<<"2.Delete Value in Queue \n";

    cout<<"3.Display \n";

    cout<<"choice : ";

    cin>>choice;


    switch(choice){

     case 1: cout<<"Enter the data : ";

             cin>>item;

             insertVal(item,&queueNode);

             break;


     case 2: item=deleteVal(&queueNode);

             cout<<"Pop element : "<<item<<endl;

             break;


      case 3: display(&queueNode);

              break;


      default : cout<<"Wrong option selected\n";


    }


    cout<<"\n\nDo you want to run again (y/n) : ";

    cin>>ch;


}while(ch=='y');



}



void insertVal(int item,node * ptr){


if((ptr->frontSide==0 && ptr->rearSide==MAX-1) || (ptr->frontSide==ptr->rearSide+1)){


cout<<"Queue is Overflow\n";


}else if(ptr->frontSide==-1){


  ptr->frontSide=0;

  ptr->rearSide=0;


}else if(ptr->rearSide==MAX-1){


  ptr->rearSide=0;


}else{


 ptr->rearSide=ptr->rearSide+1;


}

 ptr->arr[ptr->rearSide]=item;


}


int deleteVal(node *ptr){


int item;


if(ptr->frontSide==-1){

  cout<<"Queue is underflow\n";

}else{


item=ptr->arr[ptr->frontSide];

ptr->arr[ptr->frontSide]=0;

if(ptr->frontSide==ptr->rearSide){

    ptr->frontSide=-1;

    ptr->rearSide=-1;

}else if(ptr->frontSide==MAX-1){

    ptr->frontSide=0;

}else{

   ptr->frontSide++;

}

}


return item;

}


void display(node *ptr){


cout<<"\n\n ********************* Queue Status ******************** \n\n";


        cout<<setw(8)<<"_";


        for(int i=1;i<=6;i++){

              cout<<setw(8)<<"________";

        }


        cout<<endl<<endl;


        cout<<setw(8)<<" ";

        for(int i=1;i<=5;i++){


           if(i==5){


           if(ptr->arr[i-1]==0){

            cout<<setw(4)<<" ";

           }else{

             cout<<setw(4)<<" "<<ptr->arr[i-1];

           }


           }else{

             if(ptr->arr[i-1]==0){

                cout<<setw(4)<<"  "<<setw(4)<<"|";

             }else

             {

               cout<<setw(4)<<" "<<ptr->arr[i-1]<<setw(4)<<"|";

             }


           }


        }


        cout<<endl;


        cout<<setw(8)<<"_";

        for(int i=1;i<=6;i++){

             cout<<setw(8)<<"________";

        }



         cout<<endl<<endl;


        cout<<setw(8)<<"Index :";

        for(int i=1;i<=5;i++){

             cout<<setw(4)<<" "<<i<<setw(5)<<" ";


        }



        if((ptr->frontSide==0 && ptr->rearSide==MAX-1) || (ptr->frontSide==ptr->rearSide+1)){

         cout<<endl<<endl;

         cout<<setw(40)<<"Status : FULL"<<endl;

        }


        if(ptr->frontSide==-1){

         cout<<endl<<endl;

         cout<<setw(40)<<"Status : EMPTY"<<endl;

        }


}


=>Output :

1.Queue Sample Full :





2.Empty Queue Sample :

 

Comments

Popular posts from this blog

Maximum possible number of monsters you can defeat?

 Q).Maximum possible number of monsters you can defeat?  =>Introduction: While playing an RPG game, you were assigned to complete one of the hardest quests in this game. There are n monsters you'll need to defeat in this quest. Each monster i is described with two integer numbers - poweri and bonusi. To defeat this monster, you'll need at least poweri experience points. If you try fighting this monster without having enough experience points, you lose immediately. You will also gain bonusi experience points if you defeat this monster. You can defeat monsters in any order. The quest turned out to be very hard - you try to defeat the monsters but keep losing repeatedly. Your friend told you that this quest is impossible to complete. Knowing that, you're interested, what is the maximum possible number of monsters you can defeat? (Question difficulty level: Hardest) => Input: The first line contains an integer, n, denoting the number of monsters. The next line contains an

Count Frequency of Character in Any Sentence using C++

 Q)Write the C++ program for character frequency count for any sentence => Program : #include<iostream> #include<string> #include<iomanip> using namespace std; int main(){ string mystr; cout<<"Enter the Any Sentence  for character frequency count \n"; getline(cin,mystr); int charFreq[26]={0}; for(int i=0;i<mystr.length();i++){     int index=mystr[i]-'a';     charFreq[index]++; } cout<<"\n****************************************\n"; cout<<"\nSentence : "<<mystr<<endl<<endl; cout<<setw(12)<<"Character"<<setw(12)<<"Frequency"<<endl<<endl; for(int i=0;i<26;i++){     if(charFreq[i]!=0){         cout<<setw(6)<<char(i+'a')<<setw(10)<<charFreq[i]<<" times \n";     } } } =>Output :