Rückwärts ausgeben



  • Hallo
    Diese Liste muss ich rückwärts ausgeben was ich hinkriege aber es soll mit einem sehr einfachen kurzen Weg gehen.
    Dem rekursiven Aufruf einer Methode da hänge ich auf dem Schlauch.

    C/C++ Code
    #include "stdafx.h"

    using namespace System;

    ref class listenelement {
    String ^daten;
    listenelement ^next;
    public:
    void datenSetzen(String ^datenneu);
    void einfuegen(String ^datenneu);
    void ausgeben();
    };

    //die Zeichenkette in das Element schreiben
    void listenelement::datenSetzen(String ^datenneu) {
    daten=datenneu;
    }
    //neues Element am Ende der Liste einfügen
    void listenelement::einfuegen(String ^datenneu) {
    //hat next den Wert nullptr?
    //dann ein neues Element einfügen
    if (next == nullptr) {
    next = gcnew listenelement;
    next->daten=datenneu;
    //nullptr wird automatisch zugewiesen!
    }
    //sonst die Methode für next noch einmal aufrufen
    else
    next->einfuegen(datenneu);
    }

    //Alle Elemente der Liste ausgeben
    void listenelement::ausgeben() {
    //den ersten Eintrag ausgeben
    Console::WriteLine("{0}",daten);
    //wenn das Ende nicht erreicht ist, die Methode für next erneut aufrufen
    if (next != nullptr)
    next->ausgeben();
    }

    int main(array<System::String ^> ^args)
    {
    //Handle auf den Anfang der Liste
    listenelement ^liste;

    //das erste Element per Hand erzeugen
    liste = gcnew listenelement;
    //Zeichenkette in das erste Element schreiben
    liste->datenSetzen("Element 0");

    //in einer Schleife mehrere Elemente einfügen
    for (Int32 schleife=1;schleife<3;schleife++)
    liste->einfuegen("Element "+schleife);

    //die Liste ausgeben
    liste->ausgeben();
    return 0;
    }
    C/C++ Code
    vielen Dank im Voraus



  • 1. Benutze Code Tags
    2. Benutze die LinkedList des .NET Frameworks (System::Collections::Generic::LinkedList).

    Od. ist das etwa eine Schulaufgabe?



  • An sich muss an dem Code nur etwas vertauscht werden, das wirst Du alleine aus dem Zusammenhang den Ihr im Unterricht hattet (*vermute*) schaffen.

    Ansonsten: Hausaufgaben haben einen Sinn , Dir die Lösung einfach sagen zu lassen wird Dir spätestens bei einer Klassenarbeit/Prüfung das Genick brechen.

    @Simon: Ich Wette das es eine Hausaufgabe ist, schau Dir die Liste mal an inkl. der Methode der Ausabe 🤡



  • @Knuddelbaer: allerdings... 🙂


Anmelden zum Antworten