Heim  >  Artikel  >  Java  >  Der Unterschied zwischen Stapel und Warteschlange in Java

Der Unterschied zwischen Stapel und Warteschlange in Java

(*-*)浩
(*-*)浩Original
2019-11-14 10:55:033088Durchsuche

Der Unterschied zwischen Stapel und Warteschlange in Java

Stack:

Stack, auch Stack genannt, ist eine lineare Tabelle mit begrenzten Operationen. Die Einschränkung besteht darin, dass Einfüge- und Löschvorgänge nur an einem Ende der Tabelle zulässig sind. Dieses Ende wird als Oberseite des Stapels bezeichnet, das andere Ende als Unterseite. (Empfohlenes Lernen: Java-Kurs)

Stack wird vom Betriebssystem erstellt, wenn es einen Prozess oder Thread (Thread in einem Betriebssystem, das Multithreading unterstützt) für diesen Thread erstellt Der Speicherbereich verfügt über FIFO-Eigenschaften und die erforderliche Stapelgröße kann beim Kompilieren angegeben werden.

Warteschlange

Die Warteschlange ist eine spezielle lineare Tabelle. Das Besondere ist, dass sie nur Löschvorgänge am Frontend (Frontend) der Tabelle zulässt (hinten) führt Einfügeoperationen aus. Wie der Stapel ist die Warteschlange eine lineare Liste mit eingeschränkten Operationen. 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 sich keine Elemente in der Warteschlange befinden, spricht man von einer leeren Warteschlange.

Um eine sequentielle Warteschlangenstruktur einzurichten, müssen Sie einen kontinuierlichen Speicherplatz statisch zuweisen oder dynamisch beantragen und zwei Zeiger für die Verwaltung festlegen. Einer ist der Warteschlangenkopfzeiger vorne, der auf das Warteschlangenkopfelement zeigt, der andere ist der Warteschlangenendezeiger hinten, der auf den Speicherort des nächsten Warteschlangenelements zeigt.

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 Überlaufprobleme. Da die verknüpfte Liste indirekt durch die Struktur gebildet wird, ist sie auch bequem zu durchlaufen. (First in, first out)

Unterschied:

Ein Stapel ist ein Eimer, was zuletzt hineingelegt wird, wird zuerst herausgenommen und was darunter liegt es muss darauf warten. Du kannst erst herauskommen, nachdem du herausgekommen bist. (Last in, first out)

Die Warteschlange kann nur Löschvorgänge am Anfang der Warteschlange und Einfügevorgänge am Ende der Warteschlange ausführen, während Stapel nur Einfüge- und Löschvorgänge ausführen können oben auf dem Stapel. (First in, first out)

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Stapel und Warteschlange in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn