Queue Codeszzzzz
Queue Codeszzzzz
class Node {
public:
int data;
Node* next;
};
class Queue {
private:
Node* front;
Node* rear;
public:
Queue() {
front = rear = nullptr;
}
if (rear == nullptr) {
front = rear = newNode;
return;
}
rear->next = newNode;
rear = newNode;
}
void dequeue() {
if (front == nullptr) {
cout << "\tQueue is empty. Unable to dequeue." << endl;
return;
}
if (front == nullptr) {
rear = nullptr;
}
delete temp;
}
void printFront() {
if (front == nullptr) {
cout << "\tQueue is empty" << endl;
} else {
cout << "\tFront element = " << front->data << endl;
}
}
void printQueue() {
if (front == nullptr) {
cout << "\tQueue is empty" << endl;
return;
}
~Queue() {
while (front != nullptr) {
Node* temp = front;
front = front->next;
delete temp;
}
rear = nullptr;
}
};
int main() {
Queue queue;
int op, data;
do {
cout << "\nChoose an operation to perform:\n\t";
cout << "[1] Enqueue a node into the queue\n\t";
cout << "[2] Dequeue a node from the queue\n\t";
cout << "[3] Display the queue\n\t";
cout << "[4] Display the front element of the queue\n\t";
cout << "[5] Exit program\n\n\tInput option: ";
cin >> op;
switch (op) {
case 1:
cout << "\tEnter data: ";
cin >> data;
queue.enqueue(data);
break;
case 2:
queue.dequeue();
break;
case 3:
queue.printQueue();
break;
case 4:
queue.printFront();
break;
case 5:
return 0;
default:
cout << "\tInvalid choice!" << endl;
break;
}
} while (true);
return 0;
}