🔴 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.

OperationMeaning
EnqueueInsert at rear
DequeueRemove from front
FrontFirst element
RearLast 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

OperationMeaning
Enqueuerear पर insert
Dequeuefront से remove
Frontपहला element
Rearlast 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 करता है
← Back to C Tutorial