Warteschlangen sind im wirklichen Leben normalerweise frustrierend, aber in einem Computerprogramm können sie viele Probleme lösen. Finden Sie heraus, was Sie mit einer Warteschlange tun können und wie.

Die Warteschlange ist eine vielseitige Datenstruktur, die Sie in einer Vielzahl von Einstellungen verwenden können. Von CPU-Planungsalgorithmen bis hin zu Web-Apps ist es überall zu finden.

Wenn Sie danach streben, ein Python-Entwickler zu werden, ist es wichtig, dass Sie sich mit dieser einfachen, aber allgegenwärtigen Datenstruktur vertraut machen. Lassen Sie uns lernen, was die Warteschlangendatenstruktur ist und wie man sie in Python implementiert.

Was ist die Warteschlangendatenstruktur?

Bildnachweis: Wikipedia

Eine Warteschlange ist eine lineare Datenstruktur, die dem First-In-First-Out (FIFO)-Prinzip folgt. Das bedeutet, dass Sie beim Abrufen eines Elements aus einer Warteschlange dasjenige erhalten, das Sie vor den anderen hinzugefügt haben.

Hier sind die grundlegenden Operationen, die Sie für eine Warteschlange ausführen können:

instagram viewer
  • Enqueue: Fügen Sie der Warteschlange Elemente hinzu.
  • Dequeue: Entfernt Elemente aus der Warteschlange.
  • Drucken: Druckt die Elemente in der Warteschlange.
  • Front: Holen Sie sich das Element am Anfang der Warteschlange.
  • Hinten: Holen Sie sich das Element am Ende der Warteschlange.

Sie können die Warteschlangendatenstruktur in Python auf zwei Arten implementieren: entweder mithilfe eines Listencontainers oder einer doppelendenden Warteschlange aus dem Sammlungsmodul. Für dieses Programm verwenden Sie eine Liste.

So implementieren Sie die Warteschlangendatenstruktur in Python

Sie implementieren eine Warteschlange mithilfe des Listencontainers in Python. Beginnen Sie damit, eine leere Liste mit dem Namen zu deklarieren Warteschlange.

Warteschlange = []

Jetzt müssen Sie Benutzereingaben akzeptieren und die vom Benutzer eingegebene Operation ausführen. Drucken Sie zunächst eine Zeile aus, die den Benutzer auffordert, einen Befehl einzugeben. Warten Sie dann auf Benutzereingaben und speichern Sie sie in der Befehl Variable.

Verwenden Python-if-Anweisungen, führen Sie die Operation aus, die dem vom Benutzer eingegebenen Befehl entspricht. Wenn sie einen unbekannten Befehl eingeben, beenden Sie das Programm. Setzen Sie diese Operationen in ein Unendliches while-Schleife um sicherzustellen, dass das Programm weiterläuft, wenn sie es nicht beenden.

währendWAHR:
Befehl = Eingabe ("Was möchten Sie tun? ")

Wenn Befehl == "einreihen":
#-Code
elf Befehl == "aus der Warteschlange":
#-Code
anders:
brechen

Druckerwarteschlange)

Einreihen

Nachdem Sie sich nun mit dem Hauptkontrollfluss des Programms befasst haben, können Sie den Codeblock für jede Operation definieren. Schreiben Sie zuerst den Code für Enqueue. Enqueue bedeutet, ein Element am Ende der Warteschlange einzufügen. Sie können dies mit dem tun anhängen () Methode:

WennBefehl == "einreihen":
einreihen = int(Eingang("Geben Sie das Element zum Einreihen ein: "))

Abmelden

Schreiben Sie nun den Code, um ein Element aus der Warteschlange zu entfernen. Sie können dies mit der Pop-Methode mit 0 als Index tun. Warum? Wie Sie bereits gelernt haben, folgt eine Warteschlange der FIFO-Reihenfolge, sodass das erste Element, das Sie in die Warteschlange einreihen, auch das erste Element sein sollte, das Sie aus der Warteschlange entfernen.

Wenn Befehl == "aus der Warteschlange":
Warteschlange.pop(0)

Vorderseite

Fahren Sie fort und schreiben Sie den Code, um das Element am Anfang der Warteschlange zu drucken. Drucken Sie einfach den 0. Index der Warteschlange aus.

Wenn Befehl == "Vorderseite":
Druckerwarteschlange[0])

Rückseite

Ähnlich wie beim Code für die vordere Operation wird zum Ausführen der hinteren Operation das Element am letzten Index ausgegeben. Verwenden Sie dazu zuerst die Funktion len () für die Warteschlange und subtrahieren Sie dann 1 davon, um den letzten Index zu finden.

Wenn Befehl == "Rückseite":
print (Warteschlange[len (Warteschlange) - 1])

Drucken

Schreiben Sie abschließend den Code für den Druckbefehl. Drucken Sie die Liste einfach mit dem Standard von Python aus drucken() Funktion.

Wenn Befehl == "drucken":
Druckerwarteschlange)

Wenn der vom Benutzer eingegebene Text nicht mit einem unterstützten Befehl übereinstimmt, verlassen Sie die while-Schleife mit einer break-Anweisung. Der endgültige Code sollte so aussehen:

Warteschlange = []

währendWAHR:
Befehl = Eingabe ("Was möchtest du tun?\n")

Wenn Befehl == "einreihen":
enqueue = int (eingabe("Geben Sie das Element zum Einreihen ein: "))
queue.append (einreihen)
elf Befehl == "aus der Warteschlange":
Warteschlange.pop(0)
elf Befehl == "drucken":
Druckerwarteschlange)
elf Befehl == "Vorderseite":
Druckerwarteschlange[0])
elf Befehl == "Rückseite":
print (Warteschlange[len (Warteschlange)-1])
anders:
brechen

Druckerwarteschlange)

Führen Sie das Programm aus, um die verschiedenen Warteschlangenoperationen auszuprobieren. Verwenden Sie den Druckbefehl, um zu sehen, wie sie sich auf Ihre Warteschlange auswirken. Sie haben jetzt Ihre eigene einfache Warteschlangenimplementierung in Python erstellt.

Die Warteschlange ist nur eine von vielen nützlichen Datenstrukturen

Das Konzept einer Datenstruktur ist ein wichtiges Konzept, das jeder Informatikstudent beherrschen muss. Wahrscheinlich haben Sie bereits einige grundlegende Datenstrukturen wie Arrays oder Listen gelernt oder damit gearbeitet.

Interviewer neigen auch dazu, Fragen zu Datenstrukturen zu stellen. Wenn Sie also einen hochbezahlten Programmierjob suchen, müssen Sie Ihr Wissen über Datenstrukturen auffrischen.