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...