QUEUE USING ARRAYS by smd

 #include<stdio.h>

#define size 100

int queue[size];

int front = -1, rear = -1;

void enqueue(int x)

 {

    if (rear == size - 1) 

    {

        printf("Queue is overflow\n");

    } else

     {

        if (front == -1)

         {

            front = 0; // Initialize front if queue was empty

        }

        rear++;

        queue[rear] = x;

        printf("%d inserted sucessfully\n", x);

    }

}

void dequeue()

 {

    if (front == -1 || front > rear) 

    {

        printf("Queue is underflow\n");

    } else 

    {

        printf("%d deleted successfully\n", queue[front]);

        front++;

        if (front > rear) // Reset queue if it becomes empty

        {

            front =rear = -1;

        }

    }

}

void display()

 {

    if (front == -1 || front > rear) 

    {

        printf("Queue is empty\n");

    } else 

    {

        printf("Queue elements are: ");

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

        {

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

        }

        printf("\n");

    }

}

int main() 

{

    int choice, x;

    while (1) 

    {

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

        printf("Enter your choice: ");

        scanf("%d", &choice);

        switch (choice) 

        {

            case 1:

                printf("Enter value to enqueue: ");

                scanf("%d", &x);

                enqueue(x);

                break;

            case 2:

                dequeue();

                break;

            case 3:

                display();

                break;

            case 4:

                return 0;

            default:

                printf("Invalid choice! Please try again.\n");

        }

    }

}

Comments

Popular posts from this blog

SINGLE LINKED LIST by smd

CLL by smd