Experiment 8
Experiment 8
Ans –
#include <iostream>
class Stack {
private:
int arr[MAX];
int top;
public:
bool isFull() {
bool isEmpty() {
if (isFull()) {
cout << "Stack overflow! Cannot push " << value << ".\n";
return;
arr[++top] = value;
cout << "Pushed " << value << " onto the stack.\n";
}
int pop() {
if (isEmpty()) {
return -1;
return arr[top--];
void display() {
if (isEmpty()) {
return;
};
int main() {
Stack stack;
while (true) {
if (choice == 1) {
stack.push(value);
} else if (choice == 2) {
value = stack.pop();
if (value != -1)
} else if (choice == 3) {
stack.display();
} else if (choice == 4) {
break;
} else {
return 0;
Ans -
#include <iostream>
int data;
Node* next;
};
class Stack {
private:
public:
Stack() {
top = nullptr;
cout << "Pushed " << value << " onto the stack.\n";
int pop() {
if (isEmpty()) {
}
Node* temp = top; // Temporary pointer to the top node
bool isEmpty() {
void display() {
if (isEmpty()) {
return;
~Stack() {
while (!isEmpty()) {
}
}
};
int main() {
while (true) {
if (choice == 1) {
stack.push(value);
} else if (choice == 2) {
value = stack.pop();
if (value != -1)
} else if (choice == 3) {
stack.display();
} else if (choice == 4) {
break;
} else {
return 0;
EXPERIMENT 10
AIM - Write a CPP program to implement Queue using Array.
ANS –
#include <iostream>
class Queue {
private:
int arr[MAX];
int front;
int rear;
public:
Queue() {
front = -1;
rear = -1;
bool isFull() {
bool isEmpty() {
if (isFull()) {
cout << "Queue overflow! Cannot enqueue " << value << ".\n";
return;
front = 0;
arr[++rear] = value;
cout << "Enqueued " << value << " to the queue.\n";
int dequeue() {
if (isEmpty()) {
if (front > rear) // Reset queue when all elements are dequeued
return dequeuedValue;
}
// Display all elements in the queue
void display() {
if (isEmpty()) {
return;
};
int main() {
Queue queue;
while (true) {
if (choice == 1) {
queue.enqueue(value);
} else if (choice == 2) {
value = queue.dequeue();
if (value != -1)
} else if (choice == 3) {
queue.display();
} else if (choice == 4) {
break;
} else {
return 0;
Experiment – 11
Aim – Write a C program to implement Queue using linked list
#include <iostream>
struct Node {
int data;
Node* next;
};
class Queue {
private:
public:
Queue() {
front = nullptr;
rear = nullptr;
cout << "Enqueued " << value << " to the queue.\n";
return;
rear->next = newNode; // Link the new node at the end of the queue
cout << "Enqueued " << value << " to the queue.\n";
int dequeue() {
rear = nullptr;
void display() {
if (front == nullptr) {
return;
temp = temp->next;
~Queue() {
while (front != nullptr) {
front = front->next;
delete temp;
};
int main() {
Queue queue;
while (true) {
if (choice == 1) {
queue.enqueue(value);
} else if (choice == 2) {
value = queue.dequeue();
if (value != -1)
} else if (choice == 3) {
queue.display();
} else if (choice == 4) {
break;
} else {
return 0;