60 likes | 168 Views
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 <iostream.h> struct schueler { int id ;
E N D
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 <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; return0; } #include <iostream.h>struct schueler {int id; string name; schueler *next; } *anker, *aktuell; void init() { anker = aktuell = NULL; } int main() { return0; } #include <iostream.h>struct schueler {int id; string name; schueler *next; } *anker, *aktuell, *hilf; void init() { anker = aktuell = NULL; } int main() { init(); return0; } anker NULL Keine Liste Liste mit einem Element Leere Liste Listen, Elemente und Zeiger next NULL
anker aktuell Einfach verkettete Listen 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“ ); return0; } void inc(int idi, string namei) { schueler *hilf =new schueler; hilf->id = idi; hilf->name = namei; } int main() { init(); inc( 1 ,“Peter“ ); return0; } NULL hilf 1 Anfügen eines Elementes NULL
2 2 Einfach verkettete Listen voidinc(intidi, stringnamei) { schueler *hilf = newschueler; 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“ ); return0; } anker aktuell 1 hilf Einfügen neuer Elemente NULL NULL NULL
2 3 2 2 3 voidinc(intidi, stringnamei) { schueler *hilf = newschueler; 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“ ); return0; } Einfach verkettete Listen anker aktuell 1 hilf NULL NULL NULL NULL
2 3 Einfach verkettete Listen schueler* last() { schueler *hilf; if( (!aktuell) || (aktuell==anker) ) return0; else { hilf = anker; while( hilf && (hilf->next != aktuell) ) hilf = hilf->next; returnhilf; } } int main() { init(); inc( 1 ,“Peter“ ); inc( 2 ,“Lisa“ ); aktuell = anker; inc( 3 ,“Gerti“ ); aktuell = last(); return0; } aktuell anker hilf NULL Bestimmen des Vorgängerelementes 1 NULL