#ifndef Klasse_Liste #define Klasse_Liste template class Liste { // Definition der Listenelemente typedef class ListenElement* ZeigerListenElement; class ListenElement { public: // man kann innerhalb der Klasse Liste // auf die Parameter zugreifen! // Attribute der Klasse ListenElement T Inhalt; // Inhalt ist der templierte Datentyp ZeigerListenElement Nachfolger; // Operationen // Konstruktor ListenElement(void) { // erzeugt ein Listen-Element mit Nachfolgerzeiger auf NULL } // Destructor ~ListenElement(void) {} }; // Definition der Klasse Liste // Attribute der Klasse Liste ZeigerListenElement Anfang; // zeigt auf das erste Listenelement ZeigerListenElement Ende; // zeigt auf das letzte Listenelement ZeigerListenElement Aktuell; // zeigt auf aktuelles Listenelement // Operationen der Klasse Liste public: // auf sie kann auch von außerhalb der Liste zugegriffen werden // Constructor Liste(void) { // initialisiert die Zeiger Anfang, Ende und Aktuell mit NULL } // Destructor - löscht alle Elemente der Liste ~Liste(void) {} // Hinzufügen eines Elementes zur Liste - wird am Ende angehängt // der Inhalt des Elementes muß übergeben werden (Inh) void ElementHinzufuegen(T Inh) { // es müssen der Fall der leeren Liste (Anfang == Null) // und der Liste, die schon mindestens ein Element enthält, // unterschieden werden } // Löschen des aktuellen Elementes // dabei aktuell wird auf das vorhergehende Element bzw. den Anfang gesetzt!!! void ElementLoeschen(void) { // es muß der Fall der leeren liste gesonder betrachtet werden } // Rückgabe des Inhaltes des aktuellen Listenelementes T HoleInhalt(void) { T Inh; // es muß der Fall Aktuell == NULL ausgeschlossen werden return Inh; } // Setzt das aktuelle Listenelement um ein Element weiter // als Kontrollwert wird ein Integer-Wert übergeben, der 1 ist, // falls das Ende erreicht ist, und sonst 0 int NachfolgendesElement(void) { int endeerreicht; // =0, falls Ende nicht erreicht ist, =1, falls Ende erreicht // ... return endeerreicht; } // Setzt das aktuell berachtete Listenelement auf den Anfang void SetzeAufAnfang(void) {} // Gibt die Anzahl der Listenelemente als Integer zurück int Laenge(void) { int anzahl; // ... return anzahl; } }; #endif