D
Könntest Du bitte Code-Tags benutzen, liest sich besser.
Ich mach Dir das mal eben...
#include "stdafx.h"
using namespace System;
ref struct listenelement {
String ^daten;
listenelement ^next;
listenelement ^previous;
};
listenelement ^anhaengen(String ^datenneu, listenelement ^listenende) {
listenelement ^hilfsHandle;
listenelement ^hilfsHandle2;
hilfsHandle = listenende;
while (hilfsHandle->next != nullptr)
hilfsHandle = hilfsHandle->next;
hilfsHandle2 = hilfsHandle;
hilfsHandle->next = gcnew listenelement;
hilfsHandle = hilfsHandle->next;
hilfsHandle->previous = hilfsHandle2;
hilfsHandle->daten=datenneu;
listenende = hilfsHandle;
return listenende;
}
Void ausgeben(listenelement ^listenanfang, listenelement ^listenende) {
listenelement ^hilfsHandle;
hilfsHandle = listenanfang;
Console::WriteLine("{0}",hilfsHandle->daten);
hilfsHandle = listenende;
while (hilfsHandle->next != nullptr) {
hilfsHandle = hilfsHandle->next;
Console::WriteLine("{0}",hilfsHandle->daten) ;
}
}
Void ausgeben_Back(listenelement ^listenende) {
listenelement ^hilfsHandle;
hilfsHandle = listenende;
Console::WriteLine("{0}",hilfsHandle->daten);
while (hilfsHandle->previous != nullptr) {
hilfsHandle = hilfsHandle->previous;
Console::WriteLine("{0}",hilfsHandle->daten) ;
}
}
int main(array<System::String ^> ^args)
{
listenelement ^listenanfang;
listenanfang = gcnew listenelement;
listenanfang->daten="Element 1";
listenelement ^listenende;
listenende= gcnew listenelement;
for (Int32 schleife=2;schleife<200;schleife++)
anhaengen("Element "+schleife,listenende);
ausgeben(listenanfang,listenende);
ausgeben_Back(listenende);
Console::Read();
return 0;
}
Du hast die Liste ziemlich unübersichtlich gebaut.
listenelement ^previous;
verstehe ich genauso wenig wie...
listenelement ^hilfsHandle2;
Vllt. solltest Du sie nochmal neu aufbauen.