![]() |
template verkettete liste
hallo, moechte gern so eine template verkettete liste bauen, fuer allgemeine datentyp
Code:
wie kann ich jez z.B string, integer wert an value zuweisen, da value von TObject is.
PList = ^TList;
vList = record; value : TObject; pNextItem: PList; pLastItem: PList; end; TList = vList; bzw, wie lese ich den wert in string, integer aus um andere variable zuzuweisen.
Code:
oder is konzept mit dem datentyp TObject ueberhaupt falsch, wenn ja, was soll man stattdessen nehmen
data: vList;
i : integer; data.value := 3; // so? i := data.value; // wie soll hier richtig sein thx, thx |
Re: template verkettete liste
Im Prinzip passt das so, aber ich würde als Bezeichner nicht TList verwenden,
denn so heißt schon eine Klasse in Delphi ;) |
Re: template verkettete liste
Erstens das und zweitens müsste Value dann eine Klasse sein (oder sich zumindest als solche ausgeben).
|
Re: template verkettete liste
Ich würde Value entweder als Pointer deklarieren, oder gleich alles mit Objekten lösen. Objekte sind ja im Grunde auch Pointer, bieten aber einen größeren Komfort und sind lesbarer.
Edit: Außerdem kannst du bei einer objektorientierten Lösung von deiner Basisklasse typensichere Listen ableiten. |
Re: template verkettete liste
kann jemand bitte ein kleines beispiel code zeigen?
sag viel mehr aus als worte |
Re: template verkettete liste
Wenn es eine allgemein zu nutzende doppelt verkettete Liste sein soll:
Delphi-Quellcode:
type
PElement = ^TElement; TElement = record Data: Pointer; //hier die Nutzerdaten Prior, //Vorgänger in der Liste Next: PElement; //Nachfolger in der Liste end; |
Re: template verkettete liste
danke sehr fuer die beispielcode, wenn ich die kette wieder freigeben will, reicht einfach erste daten zu loeschen?
oder muss ich alle hintereinander loeschen |
Re: template verkettete liste
Zitat:
|
Re: template verkettete liste
Garbage Collector?
Sieht mir eher nach normalem Delphi(32) aus. |
Re: template verkettete liste
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz