Delphi-PRAXiS

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.

xineohp 13. Apr 2004 20:37

Re: Doppelt verkette Liste
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ist das dein Ernst? Ein bisschen könntest du ja auch selber machen!
Naja, ist zwar ideologisch falsch, aber wenn du unbedingt willst... :roll:

Chris P 13. Apr 2004 20:40

Re: Doppelt verkette Liste
 
Wieso fragst du mich dann erst, ob ich es haben will?

Man kann viel selber machen, aber wozu ist denn Delphi Praxis da????????????????

Aber trotzdem danke...

xineohp 13. Apr 2004 20:48

Re: Doppelt verkette Liste
 
hm, meiner Ansicht dient die DP dazu das eigene Wissen zuerweitern ... durch simples Abschreiben lernt man in der Regel wenig :!:

Aber naja, die Hauptsache ist: :dp:

Chris P 13. Apr 2004 20:52

Re: Doppelt verkette Liste
 
Wie kann man denn sein wissen erweitern, wenn man schon alles probiert hat das Problem alleine zu lösen und es net klappt. Dann gibts doch nur noch die Hilfe eines anderen, oder? :cheers:

xineohp 13. Apr 2004 20:54

Re: Doppelt verkette Liste
 
auch wieder wahr ... :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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