001
26.08.2015, 13:26 Uhr
ao
(Operator)
|
Vermutlich etwas zu spät, aber:
Deine Ergebnisse sind richtig. Haste das selber rausgefunden, oder kompiliert und laufenlassen?
Erklärungen: Das Ganze ist eine Verwaltung für Integer-Daten in einer verketteten Liste.
zeige() zeigt den Listeninhalt von Anfang bis Ende und zum Schluss ein '!'. abc() fügt den übergebenen Wert am Anfang der Liste ein. jkl() fügt den übergebenen Wert am Ende ein.
Und tue() ist eine rekursive (sich selbst aufrufende) Funktion, die die Reihenfolge der Listenelemente umkehrt. Das wird erreicht, indem sie das erste Element aus der Liste aushängt (dadurch wird das nächste zum Anfangselement) und auf dem lokalen Stack zwischenspeichert, dann den rekursiven Aufruf macht (wenn das letzte erreicht ist, ist die Abbruchbedingung erfüllt, und es passiert nichts) und dann das gespeicherte Element am Ende wieder einhängt. Die Umkehr der Reihenfolge wird dadurch erreicht, dass das zuletzt ausgehängte Element als erstes wieder eingefügt wird. Dieser Post wurde am 27.08.2015 um 00:46 Uhr von ao editiert. |