You are on page 1of 4

LABORATORY EXAMINATION

Name – Sachin Samal


Reg no – 2201020115
Roll no – CSE22116
Group – 2(A)
SEM – 3rd
Branch - CSE

CHEAT NO -10 QUESTION NO – 11


Q11. Write a menu driven c-code for the following operations on
Linear queue using array.
(i) Insertion (ii) Deletion (iii) Traversal
#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 10

int queue[MAX_SIZE];
int front = -1, rear = -1;

void enqueue(int value) {


if (rear == MAX_SIZE - 1) {
printf("Queue is full. Cannot insert.\n");
} else {
if (front == -1) {
front = 0;
}
rear++;
queue[rear] = value;
printf("Element %d inserted successfully.\n", value);
}
}

int dequeue() {
int value;

if (front == -1) {
printf("Queue is empty. Cannot delete.\n");
return -1;
} else {
value = queue[front];
front++;

if (front > rear) {


front = -1;
rear = -1;
}

return value;
}
}

void traverseQueue() {
if (front == -1) {
printf("Queue is empty.\n");
} else {
printf("Queue elements: ");
for (int i = front; i <= rear; i++) {
printf("%d ", queue[i]);
}
printf("\n");
}
}

void displayMenu() {
printf("\n***** Linear Queue Menu *****\n");
printf("1. Insertion\n");
printf("2. Deletion\n");
printf("3. Traversal\n");
printf("4. Exit\n");
}

int main() {
int choice, value;

do {
displayMenu();
printf("Enter your choice: ");
scanf("%d", &choice);

switch (choice) {
case 1:
printf("Enter the element to insert: ");
scanf("%d", &value);
enqueue(value);
break;
case 2:
value = dequeue();
if (value != -1) printf("Deleted element: %d\n", value);
break;
case 3:
traverseQueue();
break;
case 4:
printf("Exiting the program.\n");
exit(0);
default:
printf("Invalid choice! Please enter a valid option.\n");
}

} while (1);

return 0;
}

OUTPUT:
***** Linear Queue Menu *****

1. Insertion

2. Deletion

3. Traversal

4. Exit

Enter your choice: 1

Enter the element to insert: 5

Element 5 inserted successfully.

***** Linear Queue Menu *****

1. Insertion

2. Deletion

3. Traversal

4. Exit
Enter your choice: 1

Enter the element to insert: 10

Element 10 inserted successfully.

***** Linear Queue Menu *****

1. Insertion

2. Deletion

3. Traversal

4. Exit

Enter your choice: 1

Enter the element to insert: 15

Element 15 inserted successfully.

***** Linear Queue Menu *****

1. Insertion

2. Deletion

3. Traversal

4. Exit

Enter your choice: 3

Queue elements: 5 10 15

***** Linear Queue Menu *****

1. Insertion

2. Deletion

3. Traversal

4. Exit

Enter your choice: 2

Deleted element: 5

You might also like