Unterschiede & Gemeinsamkeiten Array, Queue und Stack?

1 Antwort

Ein Array ist einfach ein Speicherbereich mit gleich großen Abschnitten, in den ich Objekte (gleicher Größe) ablegen kann und auf den ich via Index (Position) zugreifen kann.

Stack und Queue lassen sich unter anderem als (dynamisches) Array umsetzen, das aber nur am Rande.

Beim Stack (Stapel) gilt LIFO, was zuletzt reingelegt wurde, wird als erstes wieder rausgeholt. Wie beim Tellerstapel an der Spüle. Die Queue (Warteschlange) ist FIFO, was zuerst hinzukam, wird als erstes weggenommen. Kennst Du von jeder Supermarktkasse.

Insbesondere kennt der Stack die Operationen push() und pop(), während es bei der Queue eher add() to back und remove() from front sind. Die Namensgebung ist nicht einheitlich, manchmal heißt es auch pushback und popfront, enqueue/dequeue o.ä. .

Vielleicht möchtest du Dir auch das hier mal anschauen:

https://de.wikipedia.org/wiki/Warteschlange_(Datenstruktur)#Zusammenhang_mit_Stapelspeichern_(Stacks)