Einfach verkettete Liste in Java – selbst gebaut, ohne java.util.LinkedList. Didaktisches Minimalbeispiel zur Einführung dynamischer Datenstrukturen und rekursiver Methoden.
| Klasse | Beschreibung |
|---|---|
ListenElement |
Ein Listenknoten mit int-Inhalt und Referenz next auf den nächsten Knoten |
Liste |
Fassade: hält den kopf des Listenanfangs, delegiert alle Operationen an das Kopf-Element |
Test |
Testklasse mit main-Methode, baut eine Beispielliste auf und gibt sie aus |
Jeder Knoten kennt nur seinen Nachfolger – nicht den Vorgänger. Das ist die minimalste Form einer verketteten Liste und eignet sich perfekt, um das Prinzip der Zeigerverkettung sichtbar zu machen:
kopf ─▶ [ 3 | • ] ─▶ [ 5 | • ] ─▶ [ 7 | • ] ─▶ [ 20 | • ] ─▶ [ 6 | null ]
Die Operationen sind rekursiv implementiert – jede Methode delegiert an next, bis das Listenende erreicht ist:
public void add(ListenElement neu) {
if (next == null) {
next = neu; // Basisfall: am Ende eingefügt
} else {
next.add(neu); // Rekursion: weiter hinten einfügen
}
}Dasselbe Muster bei toString() und remove(). Das macht den Code kurz, ist aber gleichzeitig ein schöner Einstieg in rekursives Denken.
- Referenzen (Zeiger) als Verkettung nutzen
- Rekursive Methoden an selbstbezüglichen Datenstrukturen
- Prinzip „Wrapper-Klasse + Knoten-Klasse" (
Listevs.ListenElement) - Abstrahierter Zugriff: Nutzer sieht nur
Liste, nicht die Knoten
Liste liste = new Liste(3);
liste.add(5);
liste.add(7);
liste.add(20);
liste.add(6);
System.out.println(liste); // 3 5 7 20 6
liste.remove(); // entfernt das letzte Element
System.out.println(liste); // 3 5 7 20Listen/
├── src/
│ ├── Liste.java
│ ├── ListenElement.java
│ └── Test.java
├── .classpath
└── .project
- Liste generisch machen (
Liste<T>stattint) length()-Methodeget(int index)/contains(int wert)- Gegenüberstellung mit
java.util.LinkedList - Iterative statt rekursive Implementierung – und Vergleich (Stackgröße!)
Unterrichtsmaterial Informatik, Sekundarstufe II – Einstieg in dynamische Datenstrukturen und Rekursion (Schiller-Gymnasium Offenburg).