Kurs:Algorithmen und Datenstrukturen/Vorlesung/Listen

Aus Wikiversity
Zur Navigation springen Zur Suche springen




Liste[Bearbeiten]

Eine Liste ist entweder die leere Liste oder ein Term gefolgt von einer Liste.

Definition in Prolog[Bearbeiten]

list([]).
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[Bearbeiten]

Da 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.


Vorheriges Thema.jpg Discussion Nächstes Thema.jpg