Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einfach und doppelt verkettete Listen in JAVA by Jens Weibler

Ähnliche Präsentationen


Präsentation zum Thema: "Einfach und doppelt verkettete Listen in JAVA by Jens Weibler"—  Präsentation transkript:

1 Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Referat: Listen Einfach und doppelt verkettete Listen in JAVA by Jens Weibler

2 Was sind Listen? Listen sind eindimensional verkettete Elemente
Rekursive Datenstruktur: Liste = Element + Liste | Leer

3 Wofür kann man Listen verwenden? (Vorteile)
Variable Anzahl von Elementen zur Laufzeit (Nachteil eines Arrays -> feste Länge) und somit auch keine Speicherverschwendung Beim Sortieren einer Liste werden Pointer verschoben, nicht die Daten selber!

4 Wie ist eine Liste aufgebaut? Eine einfach verkettete Liste
Eine Liste beginnt immer mit einem Kopf Dann folgen beliebig viele Elemente Das Ende bildet ein Verweis auf null Kopf Data Next Data Next null

5 Das ganze jetzt in JAVA public class ListenElement { // Inhalt
private object data; // nächstes Element private ListenElement next = null; // Konstruktor public ListenElement (object data, ListenElement next) this.data = data; this.next = next; } public class Liste { // Kopf der linearen Liste private ListenElement start = null; // liefert start zurück public ListenElement getStart () return start; }

6 Einfügen von Elementen (am Anfang einer Liste)
Vorher: Kopf Data Next null Nachher: Kopf Data Next // Methode in Liste.java: public void vorneEinfuegen (object data) { start = new ListenElement (data, start); }

7 Einfügen von Elementen (am Ende oder im Inneren einer Liste)
Vorher: Kopf null Data Next Nachher: Data Next Kopf Data Next // Methode in ListenElement.java: public void einfuegen (object data) { next = new ListenElement (data, next); }

8 Löschen eines Elements
Kopf Data Next Data Next Data Next null // Methode in ListenElement.java: // Entfernen des naechsten Elements public void loescheNext () { if (next != null) next = next.next; }

9 Rekursives Durchgehen einer Liste am Beispiel toString()
// Methode in Liste.java: public String toString () { return "[ " + start.toString() + " ]"; } // Methode in ListenElement.java: if (next == null) return data.toString(); else return data.toString() + ", " + next.toString();

10 Doppelt verkettete Listen
Wofür doppelt verkettete Listen? Möglichkeit bei einer sortierten Liste rückwärts zu suchen Direktes Anhängen/Löschen eines Elements am Ende (Benutzung als Puffer – FIFO)

11 Was ändert sich? Schema einer doppelt verketteten Liste mit Fuss Kopf
Data Next Previous Data Next Previous Fuss null


Herunterladen ppt "Einfach und doppelt verkettete Listen in JAVA by Jens Weibler"

Ähnliche Präsentationen


Google-Anzeigen