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.
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:
Listenelement naechster, vorheriger;
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. 😦
Ich hoffe du willst keine eigene verkettet Liste bauen.
C# bietet dafür die LinkedList<T> aus dem Generics Namespace.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Ich hoffe du willst keine eigene verkettet Liste bauen.
Nein, es dient zum Lernzweck!
Wo hängst denn?
Musst halt das Element suchen, das kein Nachfolger hat.
Und dann kannst ja jeweils rückwärts gehen...
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo nytrec,
wie sieht denn der aktuelle Code aus? Oder soll das Rückwärts ausgeben mit dem obigen Beispiel Listenelement
gemacht werden?
Meine Fragen beziehen sich auf das:
Listenelement naechster, vorheriger;
da vorheriger
oben nicht existiert?
Grüße
Ich habe den Titel mal angepasst, so dass Suchende auch etwas damit anfangen können. EDIT: Ich sollte beim Wort "Shift" im Titel das "f" nicht vergessen... 😄