Eine Warteschlange ist eine spezielle lineare Liste. Es erlaubt nur Löschvorgänge am vorderen Ende der Tabelle und Einfügevorgänge am hinteren Ende der Tabelle. Wie der Stapel ist die Warteschlange eine lineare Tabelle mit eingeschränkten Vorgängen am Ende der Einfügeoperation Das Ende, an dem der Löschvorgang ausgeführt wird, wird als Kopf der Warteschlange bezeichnet. Wenn sich keine Elemente in der Warteschlange befinden, wird es als leere Warteschlange bezeichnet.
Die Warteschlange ist eine spezielle lineare Tabelle. Das Besondere ist, dass sie nur Löschvorgänge am vorderen Ende (Front) der Tabelle zulässt. Das Backend (Rückseite) der Tabelle führt Einfügungsvorgänge aus. Wie der Stapel ist die Warteschlange eine lineare Tabelle mit begrenzten Vorgängen. Das Ende, das den Einfügevorgang ausführt, wird als Ende der Warteschlange bezeichnet, und das Ende, das den Löschvorgang ausführt, wird als Kopf der Warteschlange bezeichnet. Wenn die Warteschlange keine Elemente enthält, spricht man von einer leeren Warteschlange.
Die Datenelemente der Warteschlange werden auch Warteschlangenelemente genannt. Das Einfügen eines Warteschlangenelements in die Warteschlange wird als Einreihen in die Warteschlange bezeichnet, und das Löschen eines Warteschlangenelements aus der Warteschlange wird als Ausschließen bezeichnet. Da die Warteschlange nur das Einfügen an einem Ende und das Löschen am anderen Ende zulässt, kann nur das Element, das am frühesten in die Warteschlange eintritt, zuerst aus der Warteschlange gelöscht werden. Daher wird die Warteschlange auch als „First-in-first-out“ (FIFO – zuerst) bezeichnet in first out) lineare Liste.
Implementierung einer verknüpften Liste der Warteschlange
Im Bildungsprozess der Warteschlange kann das Prinzip der linear verknüpften Liste zum Generieren einer Warteschlange verwendet werden.
Eine auf verknüpften Listen basierende Warteschlange muss Knoten dynamisch erstellen und löschen, was weniger effizient ist, aber dynamisch wachsen kann.
Die Warteschlange verwendet FIFO (First In First Out). Neue Elemente (Elemente, die darauf warten, in die Warteschlange eingegeben zu werden) werden immer am Ende der verknüpften Liste eingefügt und beginnen beim Lesen immer am Anfang der Liste die verlinkte Liste. Jedes Mal, wenn ein Element gelesen wird, wird ein Element freigegeben. Die sogenannte dynamische Erstellung und dynamische Freigabe. Daher gibt es keine Probleme wie Überlauf. Da die verknüpfte Liste indirekt durch die Struktur gebildet wird, ist sie auch bequem zu durchlaufen.
Grundfunktionen der Warteschlange
(1) Initialisieren Sie die Warteschlange: Init_Queue(q), Anfangsbedingung: Warteschlange q existiert nicht. Operationsergebnis: Eine leere Warteschlange wird erstellt;
(2) Warteschlangeneintragsoperation: In_Queue(q,x), Anfangsbedingung: Warteschlange q existiert. Operationsergebnis: Fügen Sie für die vorhandene Warteschlange q ein leeres Element ein. Operationsergebnis: Löschen Sie das Warteschlangenkopfelement und geben Sie seinen Wert zurück. Die Warteschlange ändert sich
(4) Lesen Sie das Warteschlangenkopfelement: Front_Queue(q, x), Anfangsbedingung: Warteschlange q existiert und ist nicht leer, Operationsergebnis: Lesen Sie das Warteschlangenkopfelement und geben Sie seinen Wert zurück, die Warteschlange bleibt unverändert
(5) Warteschlangenleervorgang: Empty_Queue(q), Anfangsbedingung: Warteschlange q existiert, Operationsergebnis: wenn q leer ist. Team gibt 1 zurück, andernfalls 0.
Weitere Informationen zu diesem Thema finden Sie auf der
PHP-Website für ChinesischDas obige ist der detaillierte Inhalt vonWas bedeutet Warteschlange?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!