Double Ended Queue

Implementation of double ended queue using linked list

Inserting from Front :

void frontEnqueue(int data) {

    // Creating a 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;
        newNode -> next = NULL;
    }
    
    else {
        // Make newNode as front node
        newNode -> next = front;
        front = newNode;
    }

}

Inserting from Rear :

Deleting from Front :

Deleting from Rear :

Contributed by Nitin Ranganath

Last updated

Was this helpful?