6
Einfach verkettete Listen Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init() init() : Listen, Elemente und : Listen, Elemente und Zeiger Zeiger inc() inc() : Anfügen des ersten Elementes : Anfügen des ersten Elementes inc() inc() : Einfügen neuer : Einfügen neuer Elemente Elemente last() last() : Bestimmen des Vorgängerelementes : Bestimmen des Vorgängerelementes

Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init(): Listen, Elemente und Zeiger init(): Listen, Elemente und Zeiger inc(): Anfügen

Embed Size (px)

Citation preview

Page 1: Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init(): Listen, Elemente und Zeiger init(): Listen, Elemente und Zeiger inc(): Anfügen

Einfach verkettete ListenEinfach verkettete Listen

• InhaltsverzeichnisInhaltsverzeichnisinit()init(): Listen, Elemente und Zeiger: Listen, Elemente und Zeiger

inc()inc(): Anfügen des ersten Elementes: Anfügen des ersten Elementes

inc()inc(): Einfügen neuer : Einfügen neuer ElementeElementelast()last(): Bestimmen des Vorgängerelementes: Bestimmen des Vorgängerelementes

Page 2: Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init(): Listen, Elemente und Zeiger init(): Listen, Elemente und Zeiger inc(): Anfügen

Einfach verkettete ListenEinfach verkettete Listen• Listen, Elemente und Listen, Elemente und ZeigerZeiger

NULLNULLNULLNULL

anker #include <iostream.h> struct schueler { int id; string name; schueler *next; } *anker, *aktuell, *hilf; void init() { anker = aktuell = NULL; } int main() { init(); anker = new schueler; aktuell = anker; anker->next = NULL; return 0; }

aktuell

nextnextnextnext

#include <iostream.h> struct schueler { int id; string name; schueler *next; } *anker, *aktuell, *hilf; void init() { anker = aktuell = NULL; } int main() { init(); return 0; }

#include <iostream.h> struct schueler { int id; string name; schueler *next; } *anker, *aktuell; void init() { anker = aktuell = NULL; } int main() { return 0; }

NULLNULLNULLNULLLeere Liste

Keine Liste

Liste mit einem Element

Page 3: Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init(): Listen, Elemente und Zeiger init(): Listen, Elemente und Zeiger inc(): Anfügen

NULNULLL

NULNULLL

Einfach verkettete ListenEinfach verkettete Listen• Anfügen eines Anfügen eines ElementesElementes

NULNULLL

NULNULLL

void inc(int idi, string namei) { schueler *hilf = new schueler; hilf->id = idi; hilf->name = namei; } int main() { init(); inc( 1 ,“Peter“ ); return 0; }

aktuell

anker

void inc(int idi, string namei) { schueler *hilf = new schueler; if(!aktuell) { hilf->next = anker; anker = hilf; } aktuell=hilf; aktuell->id=idi; aktuell->name=namei; } int main() { init(); inc( 1 ,“Peter“ ); return 0; }

1

hilf

Page 4: Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init(): Listen, Elemente und Zeiger init(): Listen, Elemente und Zeiger inc(): Anfügen

NULNULLL

NULNULLL

2

NULNULLL

NULNULLL

NULNULLL

NULNULLL

1

2

Einfach verkettete ListenEinfach verkettete Listen• Einfügen neuer Einfügen neuer ElementeElemente

aktuell

anker

void inc(int idi, string namei) { schueler *hilf = new schueler; if(aktuell) { hilf->next = aktuell->next; aktuell->next = hilf; } else { hilf->next = anker; anker = hilf; } aktuell = hilf; aktuell->id = idi; aktuell->name = namei; } int main() { init(); inc( 1 ,“Peter“ ); inc( 2 ,“Lisa“ ); return 0; }

hilf

Page 5: Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init(): Listen, Elemente und Zeiger init(): Listen, Elemente und Zeiger inc(): Anfügen

NULNULLL

NULNULLL

2

3

NULNULLL

NULNULLL

NULNULLL

NULNULLL

2

NULNULLL

NULNULLL

1

Einfach verkettete ListenEinfach verkettete Listen

aktuell

anker

void inc(int idi, string namei) { schueler *hilf = new schueler; if(aktuell) { hilf->next = aktuell->next; aktuell->next = hilf; } else { hilf->next = anker; anker = hilf; } aktuell = hilf; aktuell->id = idi; aktuell->name = namei; } int main() { init(); inc( 1 ,“Peter“ ); inc( 2 ,“Lisa“ ); aktuell = anker; inc( 3 ,“Gerti“ ); return 0; }

hilf

2

3

Page 6: Einfach verkettete Listen Inhaltsverzeichnis Inhaltsverzeichnis init(): Listen, Elemente und Zeiger init(): Listen, Elemente und Zeiger inc(): Anfügen

NULNULLL

NULNULLL

NULNULLL

NULNULLL

2

3

1

Einfach verkettete ListenEinfach verkettete Listen

aktuellanker

schueler* last() { schueler *hilf; if( (!aktuell) || (aktuell = = anker) ) return 0; else { hilf = anker; while( hilf && (hilf->next != aktuell) ) hilf = hilf->next; return hilf; } } int main() { init(); inc( 1 ,“Peter“ ); inc( 2 ,“Lisa“ ); aktuell = anker; inc( 3 ,“Gerti“ ); aktuell = last(); return 0; }

hilf

• Bestimmen des Bestimmen des VorgängerelementesVorgängerelementes