Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Doppelt verkette Liste (https://www.delphipraxis.net/20090-doppelt-verkette-liste.html)

Chris P 13. Apr 2004 16:15


Doppelt verkette Liste
 
Hi Leute, kann mir jemand die Struktur einer doppelt verketten Liste geben?

Danke...

neolithos 13. Apr 2004 16:22

Re: Doppelt verkette Liste
 
Delphi-Quellcode:
type
  PDList = ^TDList;
  TDList = record
    pPrev,
    pNext : PDList;
  end;
Reicht das?

Chris P 13. Apr 2004 19:20

Re: Doppelt verkette Liste
 
Nein, ich meinte, wenn man z.B. die Zahlen von 1 - 10 in der Liste speicher will.
Mit dem NEXT Zeiger hab ich keine Probleme, aber was muss ich mit dem PREV Zeiger machen?

Hansa 13. Apr 2004 19:23

Re: Doppelt verkette Liste
 
willst du eine einfach verkettete Liste ?

neolithos 13. Apr 2004 19:24

Re: Doppelt verkette Liste
 
Prev zeigt immer auf den vorhergehenden Eintrag.

Also
Code:
                 1    2    3    4    5    6    7    8    9    10
Prev zeigt auf nil  1    2    3    4    5    6    7    8    9
Next zeigt auf  2    3    4    5    6    7    8    9    10  nil

Chris P 13. Apr 2004 19:44

Re: Doppelt verkette Liste
 
Danke, aber könntest du mir das in die Delphi-Sprache übersetzen?

neolithos 13. Apr 2004 19:58

Re: Doppelt verkette Liste
 
Zitat:

Zitat von Chris P
Danke, aber könntest du mir das in die Delphi-Sprache übersetzen?

:gruebel: Soll das heißen du willst kompletten Code :gruebel:

Chris P 13. Apr 2004 20:25

Re: Doppelt verkette Liste
 
Ein kleiner Ansatz wäre nicht schlecht...

xineohp 13. Apr 2004 20:31

Re: Doppelt verkette Liste
 
reicht das? oder willst du auch noch den Rest? :)

Delphi-Quellcode:
type
  Datentyp = string;

  Zeiger = ^Element;

  Element = record
    Inhalt : Datentyp;
    Nachfolger,
    Vorgaenger : Zeiger;
  end;

  tLineareListe = class
  protected
    aktuell,
    First, Last : Zeiger;
    // First = links ; Last = rechts
    Anzahl : integer;

    function getInhalt : Datentyp;
    procedure setInhalt(Inhalt : Datentyp);
  public
    constructor create;

    procedure clear;

    procedure nach_links;
    procedure nach_rechts;
    procedure zum_Anfang;
    procedure zum_Ende;

    procedure loeschen;
    procedure links_anfuegen;
    procedure rechts_anfuegen;
    procedure links_einfuegen;
    procedure rechts_einfuegen;

    function istLeer : boolean;
    function getAnzahl : integer;
    function istAnfang : boolean;
    function istEnde :boolean;

    property Value : Datentyp read getInhalt write setInhalt ;
  end;
phoenix

PS: Fragt nicht warum das so aufgebläht ist ... mein Infolehrer wollte es halt damals so :roll:

Chris P 13. Apr 2004 20:33

Re: Doppelt verkette Liste
 
Es wäre net, wenn du mir das ganze Programm geben könntest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz