Queue using Linked List

Implementation of queue using a linked list.

Queue Node Structure :

struct Node {
    int data;
    struct Node *next;
};

struct Node *front = NULL;
struct Node *rear = NULL;

Enqueue Operation :

void enqueue(int data) {

    // Creating a new queue node
    struct Node *newNode;
    newNode = (struct Node *)malloc(sizeof(struct Node));
    newNode -> data = data;

    // If this node is the first node to be inserted
    if (front == NULL) {
        front = rear = newNode;
    }

    // If other nodes are already present
    else {
        rear -> next = newNode;
        rear = newNode;
    }
    
}

Dequeue Operation :

Display Operation :

Contributed by Nitin Ranganath

Last updated

Was this helpful?