Hallo erst mal,
ich hoffe, dass hiermit kein Doppelthema erstellt wird, aber die Suche hat mir nichts Brauchbares ausgespuckt.
Ich habe bereits eine einfach verkettete Liste bestehend aus Zwei Classen Listenelement und natürlich Main.
In der Main ist ein "Pointer", der auf den Anfang der Liste zeigt. Also muss ich beim Anhängen der Daten immer wieder von Anfang bis zum Ende durchgehen. Nun möchte ich einen "Pointer" auf das Ende der Liste setzten, sodass ich direkt an das Ende anhängen kann. Doch leider klappt das nicht
Ich hoffe ihr könnt mir helfen.
Habe Kommentare in den Code geschrieben, die das hoffentlich verständlicher machen.
Schon mal vielen Dank für eure Bemühungen.
Gruß Jürgen
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70:
| using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Cshp0510 { class Listenelement { string daten; Listenelement naechster, ende;
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("Daten {0} wurden 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(); Console.ReadLine(); } } } |