Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verkette Listen (https://www.delphipraxis.net/16902-verkette-listen.html)

Pseudemys Nelsoni 25. Feb 2004 13:10


Verkette Listen
 
kann mir jemand sagen, wozu man diese braucht?
wenn mein element so aussieht:

Delphi-Quellcode:
PBlub = ^TBlub;
TBlub = record
  count: integer;
  naechster: PBlub;
end;

könnte ich mit einem array/record nicht das selbe erzielen?

czapie 25. Feb 2004 13:55

Re: Verkette Listen
 
Mh,
ja mit einem Array kannst du änhliches machen, stehst du jedoch vor Aufgaben bei denen du strenge dynamische Datenstrukturen brauchst, dann eben die Liste. Außerdem ist dein Code leicht abgewandelt z.B. auch für Baumstrukturen zu verwenden.

Czapie.

Chewie 25. Feb 2004 14:13

Re: Verkette Listen
 
Arrays und verkettete Listen erfüllen zwar einen ähnlichen Zweck, unterscheiden sich aber.

In der Regel sind Arrays dazu geeignet, einen Satz Daten abzuspeichern, dessen Anzahl selten oder gar nicht geändert wird. Auch sind sie unbedingt zu empfehlen, wenn man oft auf das n-te Element zugreifen will. Außerdem sind sie weniger speicherplatzintensiv,

Verkettete Listen sind dagegen leichter erweiterbar. Einen Eintrag zwischenrein bauen oder am Ende einfügen, alles kein Problem da. Nur dauert es länger, um an das n-te Element zu kommen, da die Liste komplett durchgezählt werden muss (beim Arrayy lässt sich die Speicherposition errechnen!). Ideal aber, wenn man die Daten sowieso in der Reihenfolge, in der sie drin stehen, auslesen will (z.B. bei Stapeln oder Schlangen).

Pseudemys Nelsoni 25. Feb 2004 15:03

Re: Verkette Listen
 
hoi, danke für die erklärungen^^. btw, wie lässt sich das bei einem array berechnen?

sakura 25. Feb 2004 15:04

Re: Verkette Listen
 
Zitat:

Zitat von Pseudemys Nelsoni
wie lässt sich das bei einem array berechnen?

Du gibst nur den Index an. Delphi rechnet intern (Index - "Index des ersten Eintrages") * "Größe eines Eintrages" + "Offset des ersten Eintrages"

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.

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