Datenstrukturen - Die Grundbausteine der Programmierung
Arrays sind wie Schließfächer in einer Schule - jeder Platz hat eine feste Nummer und du kannst blitzschnell darauf zugreifen. Der große Vorteil: Du findest jedes Element sofort über seinen Index. Das Problem kommt, wenn du mitten in der Reihe etwas einfügen willst - dann musst du alle anderen Elemente verschieben, was mega nervig ist.
Listen funktionieren komplett anders - sie sind wie eine Menschenkette, wo jeder weiß, wer der Nächste ist. Jedes Element zeigt mit einem Zeiger auf das nachfolgende Element. Das macht das Einfügen viel einfacher, weil du nur die Zeiger ändern musst.
Bei Stacks denkst du am besten an einen Tellerstapel - du kannst nur den obersten Teller nehmen (pop) oder einen neuen obendrauf legen (push). Das nennt sich "Last in, First out" Prinzip. Queues sind dagegen wie eine Schlange im Supermarkt - wer zuerst kommt, wird zuerst bedient ("First in, First out").
Merktipp: Mit zwei Stacks kannst du eine Queue nachbauen! Einfach alle Elemente von einem Stack zum anderen "umschaufeln" - dabei dreht sich die Reihenfolge um.