For the complete documentation index, see llms.txt. This page is also available as Markdown.

Queue Implementations

Queue implementation using array is difficult to maintain the position of the head and tail. Array resize, shrink are difficult to implement

Using LinkedList

public class LinkedListQueue {
  private Node head, tail;

  // Inner class
  private class Node {
    String item;
    Node next;
  }

  public boolean isEmpty() {
    return head == null;
  }

  // To insert an item
  public void enqueue(String item) {
    Node oldtail = tail;
    tail = new Node();
    tail.item = item;
    tail.next = null;
    if (isEmpty()) head = tail;
    else oldtail.next = tail;
  }

  // To remove and item
  public String dequeue() {
    String item = head.item;
    head = head.next;
    if (isEmpty()) tail = null;
    return item;
  }
}

Last updated