Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Doppelt verkettete Liste als generischer Typ
29. Sep 2014, 14:05
Was hältst Du von diesem Ansatz?
Delphi-Quellcode:
type
TChainElement<T> = class
private
FData: T;
FNext: TChainElement<T>;
FPrior: TChainElement<T>;
public
property Data: T read FData write FData;
property Next: TChainElement<T> read FNext write FNext;
property Prior: TChainElement<T> read FPrior write FPrior;
end;
TChain<T> = class
private
FFirstElement: TChainElement<T>;
FLastElement: TChainElement<T>;
FCurrentElement: TChainElement<T>;
function GetNext: TChainElement<T>;
function GetPrior: TChainElement<T>;
function GetBOF: Boolean;
function GetEOF: Boolean;
function GetFirst: TChainElement<T>;
function GetLast: TChainElement<T>;
public
function Add: TChainElement<T>;
procedure Delete(Item: TChainElement<T>);
procedure Clear;
property BOF: Boolean read GetBOF;
property EOF: Boolean read GetEOF;
property First: TChainElement<T> read GetFirst;
property Last: TChainElement<T> read GetLast;
property Next: TChainElement<T> read GetNext;
property Prior: TChainElement<T> read GetPrior;
end;
Und wenn Du unbedingt willst, kannst Du die Listenklasse weglassen und alles in der Element-Klasse implementieren.
[edit] Na toll, da tippe ich mir einen ab und andere sind wieder schneller. [/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
Geändert von DeddyH (29. Sep 2014 um 14:09 Uhr)
|