-
Schreibe die Klasse MyLinkedList<T>
so um, dass die Liste doppelt verlinkt ist, also in beide Richtungen. Somit hat jeder Knoten einen Vorgänger und einen Nachfolger.
-
Füge der doppelt verketteten Liste die Methode T removeLast()
hinzu, die das letzte Element aus der Liste zurückgibt und dieses Element daraufhin aus der verketteten Liste löscht.
-
Leite im gleichen Package von der doppelt verlinkten Liste MyLinkedList<T>
die Klasse MyStack<T>
ab, die einen Stapel simuliert:
Es gibt die Methoden void push(T)
(ein Element oben auf den Stapel legen), T pull()
(oberstes Element vom Stapel nehmen, null
, falls kein Element mehr vorhanden ist) und boolean isEmpty()
(liefert true
zurück, wenn kein Wert mehr auf dem Stapel ist).
Teste die Datenstruktur mit mehreren Tieren.
[start=1]
. Schreibe die Klasse `MyLinkedList<T>` so um, dass die Liste doppelt verlinkt ist, also in beide Richtungen. Somit hat jeder Knoten einen Vorgänger und einen Nachfolger.
. Füge der doppelt verketteten Liste die Methode `T removeLast()` hinzu, die das letzte Element aus der Liste zurückgibt und dieses Element daraufhin aus der verketteten Liste löscht.
. Leite im gleichen Package von der doppelt verlinkten Liste `MyLinkedList<T>` die Klasse `MyStack<T>` ab, die einen Stapel simuliert:
+
Es gibt die Methoden `void push(T)` (ein Element oben auf den Stapel legen), `T pull()` (oberstes Element vom Stapel nehmen, `null`, falls kein Element mehr vorhanden ist) und `boolean isEmpty()` (liefert `true` zurück, wenn kein Wert mehr auf dem Stapel ist).
+
Teste die Datenstruktur mit mehreren Tieren.