dynamische Datenstrukturen ...



  • Kann man mit C# auch dynamische Datenstrukturen einbauen ?
    Z.B. eine Liste oder einen Baum ? Jetzt die eigentliche Frage:
    Kann man als Knoten Strukturen verwenden, oder muss man Klassen
    dazu einrichten ? Ich habe festgestellt, dass Strukturen keine
    rekursiven Verweistypen enthalten dürfen. Stimmt das ?



  • GeorgC++ schrieb:

    Kann man mit C# auch dynamische Datenstrukturen einbauen ?

    Ja, klar.

    Kann man als Knoten Strukturen verwenden, oder muss man Klassen
    dazu einrichten ? Ich habe festgestellt, dass Strukturen keine
    rekursiven Verweistypen enthalten dürfen. Stimmt das ?

    Ja. Klassen sind in .NET Referenztypen, wohingegen Strukturen Wertetypen sind. Der Unterschied liegt darin, dass ein Wertetyp direkt gespeichert wird; ein Referenztyp hingegen stellt lediglich einen Zeiger auf einen Heap-Speicherbereich dar. Dadurch eignen sich Referenztypen für rekursive (oder andere dynamische) Strukturen.

    Folgendes z.B. wäre eine einfache Klasse für ein Listenelement:

    class ListElement<T> {
        public T Value { get; set; }
        public ListElement<T> Next { get; set; }
        public ListElement<T> Prev { get; set; }
    }
    

Anmelden zum Antworten