Unterschiede & Gemeinsamkeiten Array, Queue und Stack?
Kann mir jemand die Unterschiede und Gemeinsamkeiten von Arrays, Queues und Stacks erklären? Die Sachen sind mir schon grob bewusst(bspw. LIFO & FIFO Prinzip, dynamischer Speicher), aber meiner Lehrerin reicht das nicht unn ich würde diese Punkte gerne in meiner Klausur richtig wiedergeben können.
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: