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; } }