Doppelt verkettete Liste, Iterieren und enumerieren

Kai_Jack

Erfahrenes Mitglied
Doppelt verkettete Liste, Iterieren und enumerieren, brauche Hilfe

Hallo Leute,

habe die bereits doppelt verkettete und vorhandene Listenstruktur modifiziert.

Neuerung:

Ein Knoten kann beliebig viele Vorgänger und Nachfolger haben. Dies habe ich mit Hilfe von Arraylisten umstrukturiert. Nun muß ich den Iterator modifizieren, dies bedeutet ich muß irgendwie aus der erzeugten Geschichte die Knoten selektieren.

Nun ist die Eigenart meiner Verwendung, das ich einen definierten Anfangsknoten und Endknoten habe, head tail. Nun erfolgt eine selektion, dies bedeutet, das einer von vielen Knoten per Zufallszahl selektiert werden muß. Dieser Prozess erfolgt solange, bis das Ende erreicht wurde.

Hierzu wurden verschiedene Interfaces und Klassen verwendet. Nun kriege ich den Enumerator nicht bzw. Iterator nicht hin. Eigenart: Die Liste wird anfangs gefüllt und danach nicht mehr geändert, d.h. es fallen keine neuen Knoten an oder werden entfernt.

Want to do:
Kann mir jemand bitte beim vorwärts iterieren behilflich sein


Anleitung: Alle Klassen inclusive der Form1 in ein vorhandenes Projekt einfügen. Die Form1 überschreiben lassen. Der Button enthält einen ganz kleinen Test wegen der Arrays bislang.
 

Anhänge

  • 24932attachment.zip
    4,3 KB · Aufrufe: 37
Zuletzt bearbeitet:
Hi.

Ich hab mir deinen Code mal kurz durchgeschaut.

Du mußt doch eigentlich nur das IEnumerator Interface implementieren. Das heißt die Methode bool MoveNext() und die Get-Methode der Current Eigenschaft.

Den Anfang der Liste übergibst du gleich am Anfang an den Konstruktor des Iterators.

In der MoveNext Methode gibst du false zurück wenn es kein nächstes Element mehr gibt. Ansonsten wählst du so wie du beschrieben hast eins von den nächsten Elementen aus und gibst true zurück.

Gruß
 

Neue Beiträge

Zurück