Hallo zusammen,
ich sitze hier vor einer Aufgabe. Ich möchte aus dem Code eine Methode erzeugen, die eine einfach verketteten Liste rückwärts ausgibt.
C#-Code: |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test
{
class Listenelement
{
string daten;
Listenelement naechster;
public void SetDaten(string datenNeu)
{
daten = datenNeu;
naechster = null;
}
public void Anhaengen(string datenNeu)
{
if (naechster == null)
{
naechster = new Listenelement();
naechster.SetDaten(datenNeu);
}
else
{
naechster.Anhaengen(datenNeu);
}
Console.WriteLine("Sie haben {0} eingefügt!", datenNeu);
}
public void Ausgeben()
{
Console.WriteLine(daten);
if (naechster != null)
{
naechster.Ausgeben();
}
}
class Program
{
static void Main(string[] args)
{
Listenelement listenAnfang = new Listenelement();
listenAnfang.SetDaten("Element 1");
for (int element = 2; element < 4; element++)
listenAnfang.Anhaengen("element " + element);
listenAnfang.Ausgeben();
}
}
}
}
|
Ich habe bislang folgendes gemacht:
C#-Code: |
Listenelement naechster, vorheriger;
|
C#-Code: |
public void DoppeltVerketteteListe(string datenNeu)
{
if (naechster == null)
{
naechster = new Listenelement();
naechster.SetDaten(datenNeu);
}
else
{
vorheriger.Anhaengen(datenNeu);
vorheriger = vorheriger.naechster;
}
}
|
Aber das müsste ja eh falsch sein. Ich habe ehrlich gesagt keinen Schimmer, wie ich das mache. Brauche unbedingt Hilfe. :(