Zuerst schauen wir uns an Was ist Stapel? Und Was ist Warteschlange? einzeln, und dann besprechen wir die Unterschiede zwischen Stack und Queue.
Was ist ein Stapel?
Eine Datenstruktur. Bei einem Array ist ein wahlfreier Zugriff möglich, d. h. auf jedes Element eines Arrays kann jederzeit zugegriffen werden, während bei einem Stack nur der sequentielle Zugriff möglich ist. Es handelt sich um einen Container, der der Einfüge- und Löschregel folgt. Es folgt dem Prinzip LIFO (Last In First Out) bei dem das Einfügen und Löschen von einer Seite aus erfolgt, die als a bezeichnet wird Spitze . Im Stapel können wir Elemente eines ähnlichen Datentyps einfügen, d. h. Elemente unterschiedlicher Datentypen können nicht in denselben Stapel eingefügt werden. Die beiden Operationen werden in LIFO ausgeführt, d. h. drücken Und Pop Betrieb.
Die folgenden Vorgänge können auf dem Stapel ausgeführt werden:
Im Stapel die Spitze ist ein Zeiger, der verwendet wird, um das zuletzt eingefügte Element zu verfolgen. Um den Stapel zu implementieren, sollten wir die Größe des Stapels kennen. Wir müssen den Speicher zuweisen, um die Größe des Stapels zu erhalten. Es gibt zwei Möglichkeiten, den Stack zu implementieren:
Was ist die Warteschlange?
A
Ähnlichkeiten zwischen Stapel und Warteschlange.
Es gibt zwei Ähnlichkeiten zwischen Stapel und Warteschlange:
Sowohl der Stapel als auch die Warteschlange stellen eine lineare Datenstruktur dar, was bedeutet, dass die Elemente nacheinander gespeichert werden und in einem einzigen Durchlauf darauf zugegriffen wird.
Sowohl der Stapel als auch die Warteschlange sind in ihrer Größe flexibel, was bedeutet, dass sie entsprechend den Anforderungen zur Laufzeit wachsen und schrumpfen können.
Unterschiede zwischen Stack und Queue
Im Folgenden sind die Unterschiede zwischen Stapel und Warteschlange aufgeführt:
Vergleichsbasis | Stapel | Warteschlange |
---|---|---|
Prinzip | Es folgt dem LIFO-Prinzip (Last In-First Out), was bedeutet, dass das zuletzt eingefügte Element als erstes gelöscht wird. | Es folgt dem FIFO-Prinzip (First In – First Out), was bedeutet, dass das zuerst hinzugefügte Element auch das erste Element ist, das aus der Liste entfernt wird. |
Struktur | Es hat nur ein Ende, von dem aus sowohl das Einfügen als auch das Löschen erfolgt, und dieses Ende wird als Spitze bezeichnet. | Es hat zwei Enden, nämlich das vordere und das hintere Ende. Das vordere Ende wird zum Löschen verwendet, während das hintere Ende zum Einfügen verwendet wird. |
Anzahl der verwendeten Zeiger | Es enthält nur einen Zeiger, der als Top-Zeiger bezeichnet wird. Der oberste Zeiger enthält die Adresse des zuletzt eingefügten bzw. obersten Elements des Stapels. | Es enthält zwei Zeiger vorne und einen hinteren Zeiger. Der vordere Zeiger enthält die Adresse des ersten Elements, während der hintere Zeiger die Adresse des letzten Elements in einer Warteschlange enthält. |
Durchgeführte Operationen | Es führt zwei Operationen aus: Push und Pop. Die Push-Operation fügt das Element in eine Liste ein, während die Pop-Operation das Element aus der Liste entfernt. | Es führt hauptsächlich zwei Vorgänge aus: Einreihen und Entfernen aus der Warteschlange. Die Enqueue-Operation führt das Einfügen der Elemente in eine Warteschlange durch, während die Dequeue-Operation das Löschen der Elemente aus der Warteschlange durchführt. |
Untersuchung des Leerzustandes | Wenn top==-1, bedeutet dies, dass der Stapel leer ist. | Wenn vorne== -1 oder vorne = hinten+1, bedeutet dies, dass die Warteschlange leer ist. |
Prüfung des Vollzustandes | Wenn top== max-1, bedeutet diese Bedingung, dass der Stapel voll ist. | Wenn hinten==max-1, bedeutet diese Bedingung, dass der Stapel voll ist. |
Varianten | Es gibt keine Typen. | Es gibt drei Arten: Prioritätswarteschlange, zirkuläre Warteschlange und doppelendige Warteschlange. |
Implementierung | Es hat eine einfachere Implementierung. | Die Implementierung ist vergleichsweise komplexer als bei einem Stack. |
Visualisierung | Ein Stapel wird als vertikale Sammlung visualisiert. | Eine Warteschlange wird als horizontale Sammlung visualisiert. |