Datenstrukturgratis

Queue

Eine Sammlung nach dem Prinzip „first in, first out“: hinten anstellen, vorne entnehmen.

Zeit
O(1)
Speicher
O(n)

// Schritt für Schritt

Schritt 1 / 7
1class Queue {2  items = [];3  head = 0;4  enqueue(x) {5    this.items.push(x);6  }7  dequeue() {8    return this.items[this.head++];9  }10}
head
= 0

leer

Wir starten mit einer leeren Queue. head markiert den Anfang.

So funktioniert es

Diese Queue speichert ihre Elemente in einem Array und merkt sich mit einem Index head den Anfang. Enqueue hängt hinten an; dequeue liest das Element bei head und schiebt head weiter, sodass keine Operation das Array verschieben muss. Queues stecken hinter Breitensuche, Aufgabenplanung und Puffern.