wede23 Geschrieben 22. Juli 2014 Geschrieben 22. Juli 2014 (bearbeitet) Hallo zusammen ich hoffen, das mir jemand weiterhelfen kann. Ich soll eine rekursive Methode schreiben und zwar soll eine Liste rückwärts ausgegeben werden. Die Liste hat keinen Zeiger auf das Ende nur auf den Anfang; Anbei die Aufgabe mit den Klassen Link und Liste! class Link { protected int daten; protected Link naechster; Link(int daten, Link naechster) { this.daten = daten; this.naechster = naechster; } public class Liste { protected Link anfang; public Liste() { anfang = null; } public void rückwärtsausgeben () { rückwärtsausgebenR(this.anfang); } public void rückwärtsausgebenR (Link element) { // In dieser Methode soll die rekurisve Methode enstehen } } Aufgabe: Schreiben Sie eine rekursive Methode, die den Inhalt der Liste rückwärts, also von hinten nach vorn ausgibt Bearbeitet 23. Juli 2014 von flashpixx Code-Tags
SilentDemise Geschrieben 22. Juli 2014 Geschrieben 22. Juli 2014 Was hast du dir denn schon überlegt?
Klotzkopp Geschrieben 22. Juli 2014 Geschrieben 22. Juli 2014 Ein Tipp: Rekursive Aufrufe kommen in umgekehrter Reihenfolge zurück.
Jimbo0915 Geschrieben 22. Juli 2014 Geschrieben 22. Juli 2014 (bearbeitet) Für solche unterirdischen Übungsaufgaben sollte man deinen Lehrer auspeitschen. schreib einfach: public void rückwärtsausgebenR (Link element) { If (element == null) { while (true) { Console.WriteLine("Sie sind eine Pappnase!"); } return; } if (!(element.naechster == null)) { rueckwaertsausgebenR(element.naechster); } Console.WriteLine(String.Format("{0}", element.daten.ToString())); } wird zwar schon vom Compiler zerrupft.... aber kommt dem gewünschten Ergebnis wohl am nächsten. LG Jimbo Bearbeitet 22. Juli 2014 von Jimbo0915
SilentDemise Geschrieben 22. Juli 2014 Geschrieben 22. Juli 2014 Für solche unterirdischen Übungsaufgaben sollte man deinen Lehrer auspeitschen. schreib einfach: public void rückwärtsausgebenR (Link element) { If (element == null) { while (true) { Console.WriteLine("Sie sind eine Pappnase!"); } return; } if (!(element.naechster == null)) { rueckwaertsausgebenR(element.naechster); } Console.WriteLine(String.Format("{0}", element.daten.ToString())); } wird zwar schon vom Compiler zerrupft.... aber kommt dem gewünschten Ergebnis wohl am nächsten. LG Jimbo Da hat er jetzt bestimmt ne menge gelernt
Jimbo0915 Geschrieben 22. Juli 2014 Geschrieben 22. Juli 2014 Da hat er jetzt bestimmt ne menge gelernt Ja, die Qualität des Beitrages mag den hohen Ansprüchen diese Forums nicht gerecht werden, (den niederen wohl eher auch nicht). Ich bin aber auch nicht sein Erzieher, er wird schon wissen, dass es nichts hilft irgendetwas abzuschreiben, hat ja wohl auch die Schule geschafft, oder? Und ganz ehrlich, ich hoffe das wurde im Suff getackert. Ja es geht hier nur um die Rekursion... Aber die Übungsaufgabe ist einfach nur Grausig. Pseudo Code schön und gut, aber jetzt sitzt er zuhause, hat die gegebenen Klassen und will seine Lösung überprüfen. Dann korrigiert er die Klassen der Übungsaufgabe, damit er es überhaupt zum Compilieren bekommt? LG Jimbo
Klotzkopp Geschrieben 23. Juli 2014 Geschrieben 23. Juli 2014 Aber die Übungsaufgabe ist einfach nur Grausig. Pseudo Code schön und gut, aber jetzt sitzt er zuhause, hat die gegebenen Klassen und will seine Lösung überprüfen. Dann korrigiert er die Klassen der Übungsaufgabe, damit er es überhaupt zum Compilieren bekommt?Du hast aber schon gemerkt, dass das Java ist, kein C#?
Jimbo0915 Geschrieben 23. Juli 2014 Geschrieben 23. Juli 2014 Du hast aber schon gemerkt, dass das Java ist, kein C#? Dann geh ich jetzt mal fix in die Ecke und schäme mich ne Runde, während Ihr alle bitte stillschweigen bewahrt... Die Ü-Aufgabe ist natürlich Super durchdacht LG Jimbo
etreu Geschrieben 1. August 2014 Geschrieben 1. August 2014 Die Übungsaufgabe ist vielleicht nicht beste, sollte aber durchaus reichen den Unterschied zwischen Tail- und Head- Rekursion zu erläutern.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden