Pages

Monday, July 28, 2025

Enqueue and Dequeue operations in C++ with Full program

#include <iostream>

using namespace std;


#define SIZE 5


class Queue {

private:

    int arr[SIZE];

    int front, rear;


public:

    Queue() {

        front = -1;

        rear = -1;

    }


    void enqueue(int val) {

        if (rear == SIZE - 1) {

            cout << "Queue Overflow" << endl;

            return;

        }

        if (front == -1) front = 0;

        arr[++rear] = val;

    }


    void dequeue() {

        if (front == -1 || front > rear) {

            cout << "Queue Underflow" << endl;

            return;

        }

        cout << "Dequeued: " << arr[front++] << endl;

    }


    void display() {

        if (front == -1 || front > rear) {

            cout << "Queue is empty" << endl;

            return;

        }

        cout << "Queue elements: ";

        for (int i = front; i <= rear; i++) {

            cout << arr[i] << " ";

        }

        cout << endl;

    }

};


int main() {

    Queue q;

    q.enqueue(10);

    q.enqueue(20);

    q.display();

    q.dequeue();

    q.display();

    return 0;

}


Improvement Notes:

Abstraction = expose interface, hide details. That’s why Queue hides the array, front, rear — exposes only methods.

No comments:

Post a Comment

Multi-dimensional ArrayList in Java

  // import java.util.ArrayList; import java.util. * ; // import java.util.Collections; public class Classroom {     public static voi...