View
27
Download
0
Category
Preview:
DESCRIPTION
Einfach verkettete Listen. init() : Listen, Elemente und Zeiger. inc() : Anfügen des ersten Elementes. inc() : Einfügen neuer Elemente. Inhaltsverzeichnis. last() : Bestimmen des Vorgängerelementes. Einfach verkettete Listen. aktuell. #include struct schueler { int id ; - PowerPoint PPT Presentation
Citation preview
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
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
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
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
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
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
Recommended