Queue using array

 2) Queue using Array

Aim

To implement queue operations (Enqueue, Dequeue, Display) using arrays in C.

Objective

  • To study the FIFO (First In, First Out) principle.

  • To practice array-based implementation of data structures.

Algorithm

Enqueue:

  1. If rear == n-1, then overflow.

  2. Else rear = rear + 1 and queue[rear] = item.

  3. If front == -1, set front = 0.

Dequeue:

  1. If front == -1, underflow.

  2. Else delete queue[front], then front = front + 1.

  3. If front > rear, reset front = rear = -1.

Display:

  1. If empty, print message.

  2. Else print from queue[front] to queue[rear].

Flowchart

Flowchart-Queue using Arrays

C Code (Queue using Array)

#include <stdio.h>

#define MAX 5

int main() {

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

    int choice, item, i;

    while (1) {

        printf("\n--- Queue Menu ---\n");

        printf("1. Enqueue\n2. Dequeue\n3. Display\n4. Exit\n");

        printf("Enter choice: ");

        scanf("%d", &choice);

        if (choice == 1) {

            if (rear == MAX - 1)

                printf("Queue Overflow!\n");

            else {

                printf("Enter item to enqueue: ");

                scanf("%d", &item);

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

                rear++;

                queue[rear] = item;

            }

        }

        else if (choice == 2) {

            if (front == -1)

                printf("Queue Underflow!\n");

            else {

                printf("Dequeued: %d\n", queue[front]);

                front++;

                if (front > rear)

                    front = rear = -1;

            }

        }

        else if (choice == 3) {

            if (front == -1)

                printf("Queue is Empty!\n");

            else {

                printf("Queue elements: ");

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

                    printf("%d ", queue[i]);

                printf("\n");

            }

        }

        else if (choice == 4) {

            printf("Exiting...\n");

            break;

        }

        else {

            printf("Invalid choice!\n");

        }

    }

    return 0;

}


Comments

Popular posts from this blog

Stack using array

Bubble Sort

Singly linked list implementation