// sl-4-BA : Der ADT Liste #include "liste.h" struct Liste { DataType value; ListenPtr next; }; void empty(ListenPtr & l) { while (!is_empty(l)) { removeFirst(l); } // l = 0; würde auch funktionieren, Speicher würde aber nicht freigegeben } bool is_empty(const ListenPtr l) { return l==0; // Kurzform von if (l==0) { return true; } else { return false; } } void insert(ListenPtr & l, const DataType value) { // Aufgabe: // ändern Sie die Funktion so ab, dass sortiert in eingefügt wird! ListenPtr node = new Liste; node->value = value; node->next = l; l = node; } void removeFirst(ListenPtr & l) { // l darf nicht 0 sein! // die aufrufende Funktion muss ggf. mit is_empty(l) prüfen, ob l leer ist ListenPtr tbd = l; // Zeiger für oberstes Element merken l = l->next; delete tbd; } DataType head(const ListenPtr l) { // l darf nicht 0 sein! // die aufrufende Funktion muss ggf. mit is_empty(l) prüfen, ob l leer ist return l->value; }