myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Verkettete Liste rückwärts ausgeben
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Verkettete Liste rückwärts ausgeben

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
nytrec nytrec ist männlich
myCSharp.de-Mitglied

Dabei seit: 07.03.2017
Beiträge: 37


nytrec ist offline

Verkettete Liste rückwärts ausgeben

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.

C#-Code:
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:

C#-Code:
Listenelement naechster, vorheriger;

C#-Code:
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. :(
24.01.2019 14:15 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.364
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich hoffe du willst keine eigene verkettet Liste bauen.
C# bietet dafür die LinkedList<T> aus dem Generics Namespace.

Link:
 https://docs.microsoft.com/de-de/dotnet/...framework-4.7.2

T-Virus
24.01.2019 14:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
nytrec nytrec ist männlich
myCSharp.de-Mitglied

Dabei seit: 07.03.2017
Beiträge: 37

Themenstarter Thema begonnen von nytrec

nytrec ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat:
Ich hoffe du willst keine eigene verkettet Liste bauen.

Nein, es dient zum Lernzweck!
24.01.2019 14:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.241
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wo hängst denn?
Musst halt das Element suchen, das kein Nachfolger hat.
Und dann kannst ja jeweils rückwärts gehen...
24.01.2019 15:20 Beiträge des Benutzers | zu Buddylist hinzufügen
ThomasE. ThomasE. ist männlich
myCSharp.de-Mitglied

avatar-178.gif


Dabei seit: 26.11.2013
Beiträge: 446
Entwicklungsumgebung: Visual Studio 2015Pro/2017Ent


ThomasE. ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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:

C#-Code:
Listenelement naechster, vorheriger;

da vorheriger oben nicht existiert?


Grüße
24.01.2019 23:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 10 Monate.
Der letzte Beitrag ist älter als 10 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 09.12.2019 03:49