Kurs:Algorithmen und Datenstrukturen/Vorlesung/Listen
Liste
BearbeitenEine Liste ist entweder die leere Liste oder ein Term gefolgt von einer Liste.
Definition in Prolog
Bearbeitenlist([]). list([X|Y]) :- list(Y).
Der |-Operator trennt den Kopf (Head=erstes Element)einer Liste vom Rumpf (Tail=Restliste) ab
Beispiele
Bearbeiten- Liste von Zahlen:
[1|[2|[3]]] = [1,2,3]
- Liste von beliebigen Termen:
[male(bob), female(anna),male(carl)]
Listenmanipulation
Bearbeiten- Aneinanderreihung:
- append(X,Y,Z): X ist die Liste, die entsteht, wenn Z an Y angehängt wird
append(X,X,[]). append([Y|X], [Y|Z],L) :- append(X,Z,L).
- Invertierung:
- invert(X,Y): X ist die Invertierung von Y
invert([],[]). invert([X|Y],L) :- invert(Y,Z), append(L,Z,[X]).
Literatur
BearbeitenDa die Vorlesungsinhalte auf dem Buch Algorithmen und Datenstrukturen: Eine Einführung mit Java von Gunter Saake und Kai-Uwe Sattler aufbauen, empfiehlt sich dieses Buch um das hier vorgestellte Wissen zu vertiefen. Die auf dieser Seite behandelten Inhalte sind in Kapitel 3.4.1 zu finden.