> i; return i; } void GanzeZahlSchreiben (char * prompt, int Zahl) { cout << prompt << Zahl << endl; }"> > i; return i; } void GanzeZahlSchreiben (char * prompt, int Zahl) { cout << prompt << Zahl << endl; }">
Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hanne Heimerdinger Geändert vor über 9 Jahren
1
1 // Verkettete Liste 3 // demonstriert verkettete Listen und // Rekursion // (mit Entfernen eines Listenelementes) // #include struct Liste { int Element; Liste *weiter; }; Ausführen
2
2 Liste * Einlesen(); Liste * Entferne(int i, Liste * ); void Ausdrucken(Liste *); int GanzeZahlLesen(char *); void GanzeZahlSchreiben(char *, int); int main() { Liste *Ls; int ent; Ls = Einlesen(); cout << "\neingelesene Liste: " << endl; Ausdrucken(Ls); ent = GanzeZahlLesen("\nEntfernen? "); while ((ent != -1) && (Ls != NULL)) { // -1 Abbruchkriterium aus Entfernen GanzeZahlSchreiben ("\nListe nach Entfernen von: ", ent); Ls = Entferne(ent, Ls); Ausdrucken(Ls); ent = GanzeZahlLesen("\nEntfernen? ");} cout << "\nCiao"; return 0; }
3
3 int GanzeZahlLesen(char * prompt) { int i; cout << prompt << "(ganze Zahl)\t"; cin >> i; return i; } void GanzeZahlSchreiben (char * prompt, int Zahl) { cout << prompt << Zahl << endl; }
4
4 Liste * Einlesen() { Liste *K, *Kopf = NULL; int i; cout << "Erstes Element? "; cin >> i; while (i != 0) { K = new Liste; K->Element = i; K->weiter = Kopf; Kopf = K; cout << "naechstes Element? "; cin >> i; } return Kopf; }
5
5 Liste * Entferne(int i, Liste * L) { if (L == NULL) return L; else if (L->Element == i) return L->weiter; else { L->weiter = Entferne(i, L->weiter); return L;} } void Ausdrucken(Liste * MeineListe){ while (MeineListe != NULL){ cout Element << ", "; MeineListe = MeineListe->weiter; }
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.