Entwickler-Ecke
Basistechnologien - Probleme mit einer verketteten Liste -.-
Mojito - Mo 05.10.09 19:29
Titel: Probleme mit einer verketteten Liste -.-
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
C#-Quelltext
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(); } } } |
Kha - Mo 05.10.09 21:11
Ich nehme einfach mal an, dass es sich um eine Übung handelt ;) .
Mojito hat folgendes geschrieben : |
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 :( |
Könntest du ebenfalls in der Main-Methode machen, sauberer und wahrscheinlich sogar einfacher wäre allerdings eine neue Klasse
Liste, die ihre
erster- und
letzter-Referenzen selbst verwaltet und Methoden wie
Anhängen und
Voranhängen (oder vielleicht doch lieber einfach
Prepend :gruebel: ) bereitstellt.
Ansonsten gilt das Motto: Zeig doch mal, wie weit du schon bist / was du schon ausprobiert / überlegt hast :) .
Mojito - Di 20.10.09 00:36
Abend alle zusammen,
zu erst danke für die schnellen Antworten. Sorry, dass ich solange nichts mehr dazu gesagt habe, war beruflich sehr eingespannt.
Habe das Problem schon gelöst "ich hatte wohl ein brett vor den Augen" Habe eine neue Instanz meiner Klasse erzeug und von der Methode Anhänge als Rückgabewert die Aktuelle Position gespeichert und schon war das Problem erledigt :=)
Ps. Ja das war eine "Hausaufgabe"
mfg Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!