Leistungskurs Informatik, Q1: Verkettete Listen
Aktionen
Listenansicht
Länge der Liste: 0
Aufgabe(n)
- Recherchieren Sie den Begriff Rekursion und erläutern Sie ihn am Beispiel einer der vorhandenen Methoden. Begründen Sie, warum Listen rekursive Datenstrukturen genannt werden.
- Wählen Sie zwei der fehlenden Funktionalitäten (deaktivierte Buttons) aus verschiedenen Rubriken. Entwickeln Sie je einen Algorithmus und implementieren Sie ihn als Methode der Liste.
- Bereiten Sie eine kurze Präsentation vor, in der Sie Ihre Lösung(en) darlegen.
Quelltext der Klasse List
in list.js
class List {
#next;
#content;
constructor(content, next = null) {
this.content = content;
this.next = next;
}
append(content) {
if (this.next == null) {
this.next = new List(content);
} else {
this.next.append(content);
}
}
insert(content) {
this.next = new List(this.content, this.next);
this.content = content;
}
getLength() {
try {
return 1 + this.next.getLength();
} catch (e) {
return 1;
}
}
toString() {
try {
return this.content + " -> " + this.next.toString();
} catch (e) {
return this.content;
}
}
}
Hinweise zur Bearbeitung
- JavaScript stellt bereits eine fertige Datenstruktur dieser Art zur Verfügung. Es geht hier aber nicht darum, diese Struktur zu nutzen. Vielmehr soll sie entwickelt und untersucht werden.
- Aus Gründen der Einfachheit sollen alle Daten in der Liste numerisch sein.
- Beim Löschen von Elementen soll der Wert des entfernten Knotens von der Methode zurückgegeben werden (return).
- Rückgaben der Listenmethoden werden in das Ausgabefeld eingetragen.