Implementing queue data structure using C++

/* C++ program to implement queue data structure using class */

Program:

#include"iostream"
#include"cstdlib"
#define max 5

using namespace std;

class queue_exam
{
    private:
        int front, rear, arr[max], count;
    public:
        queue_exam()
        {
            front = rear = count = 0;
        }
      
        void enqueue(int num)
        {
            if(rear == max)
            {
                cout<<"\nQueue is full.";
            }
            else
            {
                arr[rear] = num;
                cout<<"\nElement "<<num<<" inserted.";
                rear++;
            }
        }
      
        void dequeue()
        {
            if(front == rear)
            {
                cout<<"Queue is empty";
                front=rear=0;
            }
            else
            {
                cout<<"\nElement "<<arr[front]<<" removed."<<endl;
                ++front;
            }
        }
      
        void display()
        {
            cout<<"\nElements in queue are: \n";
            for(int i=front; i<rear; i++)
            {
                cout<<arr[i]<<" ";
            }
        }
      
        void size()
        {
            count=0;
            for(int i=front; i<rear; i++)
            {
                count++;
            }
            cout<<"\nThere are: "<<count<<" elements in the queue."<<endl;
        }
};

int main()
{
    queue_exam q1;
    int opt;
   
    do
    {
        cout<<"\n*********** Menu ***********\n";
        cout<<"1. Insert an element \n2. Remove an element \n3. Display \n4. size of current queue \n5. Exit \n";
        cin>>opt;
   
        switch(opt)
        {
            case 1:
                try
                {
                    cout<<"Enter an element to insert in queue: ";
                    int value;
                    cin>>value;
                    if(value < 1)
                    {
                        throw 'a';
                    }
                  
                    q1.enqueue(value);
                }
                catch(...)
                {
                    cout<<"Number should be greater than 0";
                }
                break;
            case 2:
                q1.dequeue();
                break;
            case 3:
                q1.display();
                break;
            case 4:
                q1.size();
                break;
            case 5:
                exit(0);
            default:
                cout<<"Please enter any choice.";
        }
    }while(opt != 5);
}


Download Source Code:



Output:

 



 

Comments

Popular Posts