queue using array and linked list.doc
queue using array and linked list.doc
h>
#include <stdlib.h>
// Function prototypes
void enqueueArray(struct QueueArray *q, int data);
int dequeueArray(struct QueueArray *q);
void displayArray(struct QueueArray *q);
void enqueueLinkedList(struct Node **front, struct Node **rear, int
data);
int dequeueLinkedList(struct Node **front);
void displayLinkedList(struct Node *front);
int main() {
// For array implementation
struct QueueArray qArray;
qArray.front = qArray.rear = -1;
do {
printf("\nQueue Implementation Menu:\n");
printf("1. Enqueue (Array)\n");
printf("2. Dequeue (Array)\n");
printf("3. Display (Array)\n");
printf("4. Enqueue (Linked List)\n");
printf("5. Dequeue (Linked List)\n");
printf("6. Display (Linked List)\n");
printf("7. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Enter data to enqueue (array): ");
scanf("%d", &data);
enqueueArray(&qArray, data);
break;
case 2:
data = dequeueArray(&qArray);
if (data != -1)
printf("Dequeued element (array): %d\n", data);
break;
case 3:
displayArray(&qArray);
break;
case 4:
printf("Enter data to enqueue (linked list): ");
scanf("%d", &data);
enqueueLinkedList(&frontLL, &rearLL, data);
break;
case 5:
data = dequeueLinkedList(&frontLL);
if (data != -1)
printf("Dequeued element (linked list): %d\n", data);
break;
case 6:
displayLinkedList(frontLL);
break;
case 7:
printf("Exiting...\n");
break;
default:
printf("Invalid choice. Please enter a valid choice.\n");
}
} while (choice != 7);
return 0;
}