0% found this document useful (0 votes)
3 views2 pages

Dequeue Algorithm and Program in C Using Array

The document outlines a dequeue algorithm and a C program for managing a queue using an array. It describes the steps for dequeuing elements, including handling underflow conditions, and provides a complete C code implementation with enqueue and display functions. Sample output demonstrates the functionality of the queue operations.

Uploaded by

nitten97643
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

Dequeue Algorithm and Program in C Using Array

The document outlines a dequeue algorithm and a C program for managing a queue using an array. It describes the steps for dequeuing elements, including handling underflow conditions, and provides a complete C code implementation with enqueue and display functions. Sample output demonstrates the functionality of the queue operations.

Uploaded by

nitten97643
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Dequeue Algorithm and Program in C Using Array

(Queue)

1. Dequeue Algorithm (Using Array)

Algorithm Steps:
1. Check if front == -1 OR front > rear
- If yes → Queue is Empty (Underflow)

2. Store queue[front] in a variable (deleted element)

3. Increase front by 1
- front = front + 1

4. If after deletion front > rear


- Set front = -1 and rear = -1 (Queue becomes empty)

2. Dequeue Program in C (Using Array)


#include <stdio.h>
#define MAX 5

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

void enqueue(int value)


{
if (rear == MAX - 1)
{
printf("Queue Overflow! Cannot insert %d\n", value);
}
else
{
if (front == -1)
{
front = 0;
}

rear++;
queue[rear] = value;
printf("%d inserted into queue\n", value);
}
}

void dequeue()
{
if (front == -1 || front > rear)
{
printf("Queue Underflow! Queue is empty\n");
}
else
{
printf("%d deleted from queue\n", queue[front]);
front++;
if (front > rear)
{
front = -1;
rear = -1;
}
}
}

void display()
{
if (front == -1)
{
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()
{
enqueue(10);
enqueue(20);
enqueue(30);

display();

dequeue();
display();

dequeue();
dequeue();
display();

return 0;
}

3. Sample Output
10 inserted into queue
20 inserted into queue
30 inserted into queue
Queue elements are: 10 20 30
10 deleted from queue
Queue elements are: 20 30
20 deleted from queue
30 deleted from queue
Queue is empty

You might also like