Also, ein Stack funktioniert nach dem Last-In-First-Out (LIFO)-Prinzip, während eine Queue nach dem First-In-First-Out (FIFO)-Prinzip arbeitet...

Mir ist aufgefallen, dass man einen Stack auch ohne LinkedList implementieren kann. Eine LinkedList wäre nicht unbedingt notwendig, da wir ja nur auf das oberste Element des Stacks zugreifen müssen, oder? Wäre das dann laufzeitlich möglicherweise effizienter ein Array zu benutzten?

Aber für eine Queue dann eher doch LinkedList, da wir sowohl auf das erste als auch auf das letzte Element der Warteschlange zugreifen müssen? Aber ich könnte eine Queue auch ohne LinkedList implementieren, oder? Wovon genau hängt diese Wahl ob mit oder ohne LinkedList genau ab? Ich bin etwas verwirrt.

Und bei einer Dequeue lieber mit LinkedList?