program adjlist; uses crt; const maxV = 'm'; type link = ^node; node = record v : char; next : link; end; var V,E,i : integer; t,z : link; adj_liste : array['a'..maxV] of link; v1,v2,j : char; procedure print_adj_liste(Knoten : char); var k: char; h: link; begin new(h); for k:='a' to Knoten do begin h:=adj_liste[k]; write('Knoten ',k,' : '); while (h^.next<>h ) do begin write(h^.v ,'---'); h:=h^.next; end; writeln('ende'); end; end; begin clrscr; write('Anzahl der Knoten und Kanten des Graphen : '); readln(V,E); writeln;writeln; new(z); z^.next:=z; for j:='a' to maxV do adj_liste[j]:=z; for i:=1 to E do begin write('die ',i:2,'. Kante geht von : '); readln(v1); write(' nach : '); readln(v2); new(t); t^.v:=v1 ; t^.next:=adj_liste[v2] ; adj_liste[v2]:=t ; new(t); t^.v:=v2 ; t^.next:=adj_liste[v1] ; adj_liste[v1]:=t ; end; readln; clrscr; print_adj_liste(maxV); readln; end.