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");

        }

    }

}








output :




1. Enqueue

2. Dequeue

3. Display

4. Exit

Enter your choice: 1

Enter value to enqueue: 10

10 inserted sucessfully


1. Enqueue

2. Dequeue

3. Display

4. Exit

Enter your choice: 1

Enter value to enqueue: 20

20 inserted sucessfully


1. Enqueue

2. Dequeue

3. Display

4. Exit

Enter your choice: 1

Enter value to enqueue: 30

30 inserted sucessfully


1. Enqueue

2. Dequeue

3. Display

4. Exit

Enter your choice: 3

Queue elements are: 10 20 30 


1. Enqueue

2. Dequeue

3. Display

4. Exit

Enter your choice: 2

10 deleted successfully


1. Enqueue

2. Dequeue

3. Display

4. Exit

Enter your choice: 3

Queue elements are: 20 30 


1. Enqueue

2. Dequeue

3. Display

4. Exit

Enter your choice: 4


Comments

Popular posts from this blog

SINGLE LINKED LIST by smd

CLL by smd