Entwickler-Ecke
C# - Die Sprache - Einfach verkettete Liste
cslaie - Sa 07.12.13 16:10
Titel: Einfach verkettete Liste
Hallo an das Forum!
ich brauche Hilfe bei diesen Code. Ich möchte die Liste so erweitern, so dass das Listenende beim Anhängen nicht immer wieder neu ermittelt werden muss, sondern neue Elemente direkt am Ende der Liste angehängt werden können.
Vorallem ich soll neben den Anfang jetzt auch das Ende der Liste in einer eigene Instanz speichern können...
Hat jemand eine Idee? Soll ich dazu eine neue Klasse erstellen?
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: 71:
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace liste { 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("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(); } } } |
Moderiert von
Th69: Code- durch C#-Tags ersetzt
Moderiert von
Th69: Titel geändert.
Ralf Jansen - Sa 07.12.13 16:33
Laß dir doch von der Anhaengen Methode das erstellte (deiner programmierten Logik entsprechend das letzte) Listenelement zurüchgeben.
cslaie - Sa 07.12.13 17:16
Ralf Jansen hat folgendes geschrieben : |
Laß dir doch von der Anhaengen Methode das erstellte (deiner programmierten Logik entsprechend das letzte) Listenelement zurüchgeben. |
Hallo,
also sowas in richtung:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| public void EndeAusgeben(string datenEnde) { datenEnde = Console.WriteLine("Daten {0} wurden eingefügt.", datenEnde); } |
,
Aber es ist eher warscheinlich falsch... :(
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
Ralf Jansen - Sa 07.12.13 17:26
Zitat: |
also sowas in richtung: |
Wo ist da die Anhängen Methode in deinem Beispiel? Nirgendwo, also nein ich dachte an was anderes ;)
In der main würde das so aussehen wenn du die Anhaengen Methode so erweiterst das sie nicht void sondern das Element zurückliefert.
C#-Quelltext
1: 2: 3: 4:
| Listenelement listenEnde; for (int element = 2; element < 4; element++) listenEnde = listenAnfang.Anhaengen("Element " + element); |
Dazu wären nur 3 Codeänderungen in Anhaengen nötig.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 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!