🔴 Advanced · Lesson 40
Queue using C
Queue
Queue
A queue is a linear data structure that follows FIFO: First In, First Out. The element inserted first is removed first.
| Operation | Meaning |
|---|---|
| Enqueue | Insert at rear |
| Dequeue | Remove from front |
| Front | First element |
| Rear | Last element |
Queue Conditions
⚠️ Conditions
- Overflow: rear reaches last index
- Underflow: no element to remove
Array Implementation
C Language
#include <stdio.h>
#define SIZE 5
int queue[SIZE], front = -1, rear = -1;
void enqueue(int value) {
if(rear == SIZE - 1) {
printf("Queue Overflow\n");
return;
}
if(front == -1) front = 0;
queue[++rear] = value;
}
int dequeue() {
if(front == -1 || front > rear) {
printf("Queue Underflow\n");
return -1;
}
return queue[front++];
}
void display() {
if(front == -1 || front > rear) {
printf("Queue is empty");
return;
}
for(int i = front; i <= rear; i++)
printf("%d ", queue[i]);
}
int main() {
enqueue(10); enqueue(20); enqueue(30);
printf("Deleted = %d\n", dequeue());
display();
return 0;
}Deleted = 10
20 30
Summary
- Queue follows FIFO order
- Insertion happens at rear
- Deletion happens at front
- Used in scheduling, buffering and BFS
- Simple array queue wastes space after deletions; circular queue solves this
Queue
Queue एक linear data structure है जो FIFO follow करता है: First In, First Out.
Operations
| Operation | Meaning |
|---|---|
| Enqueue | rear पर insert |
| Dequeue | front से remove |
| Front | पहला element |
| Rear | last element |
Array Implementation
C Language
#define SIZE 5
int queue[SIZE], front = -1, rear = -1;
void enqueue(int value) {
if(rear == SIZE - 1) printf("Overflow");
else {
if(front == -1) front = 0;
queue[++rear] = value;
}
}सारांश
- Queue FIFO follow करता है
- Insertion rear पर होता है
- Deletion front से होता है
- Scheduling और buffering में use होता है
- Circular queue space wastage solve करता है