Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#12

AW: Doppelt verkettete Liste als generischer Typ

  Alt 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)
  Mit Zitat antworten Zitat