Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Nochmal verkettete Listen (https://www.delphipraxis.net/48105-nochmal-verkettete-listen.html)

alcaeus 22. Jun 2005 11:24

Re: Nochmal verkettete Listen
 
Zitat:

Zitat von DerDan
für mich fetsgestellt, das die nur dann recht schnell sind, wenn man die Länge nicht jedemal um 1 (eins) erhöht wenn ein Element dazukommt sondern eher mal um 1024.

Robert_G hats hier gesagt: Man soll die Liste gleich auf 172% der Groesse vergroessern.

@aps: Wenn du nicht mit Casts usw. arbeiten willst, kannst du dir ja mal mein Objectlist-Template ansehn. Wenn du dann noch ein bisschen mit dem Enum rumspielst, kannst du auch ohne Probleme "rueckwaerts" durch die Liste gehn bzw. dir auch das vorherige oder das naechste Element anzeigen lassen, ohne lang die Pointer im Listenitem speichern zu muessen ;)

@barf00s: Dann sag doch warum es Kaese ist, wenn du schon so davon ueberzeugt bist. :roll:

Greetz
alcaeus

alzaimar 22. Jun 2005 12:32

Re: Nochmal verkettete Listen
 
Wenn eine Liste gesucht wird, die in allen Punkten schnell arbeitet, in er man Vorwärts/Rückwärts laufen kann, und das Suchen/Einfügen/Löschen jeweils in (so gut wie) O(1) von statten geht, würde ich Skiplists nehmen und die gibt es hier:
http://www.delphipraxis.net/internal...ct.php?t=53649

Wie eine Datenstruktur baut (hier: Hash-Tabellen), und eine dynamische Liste effektiv verwenden kann, steht hier:
http://www.delphipraxis.net/internal...ct.php?t=53653

Die Hashtabellen sind beim Suchen/Einfpügen/Löschen unerreicht schnell, dafür ist das Traversieren (also sukkessive Durchlaufen) nicht so schön, zumal die Elemente nicht soriert erscheinen.

aps 27. Jun 2005 21:09

Re: Nochmal verkettete Listen
 
Zitat:

Zitat von barf00s
Zitat:

Soweit ich das verstanden habe, soll man so nicht mehr arbeiten.
Wer sagt das?
Das doch absoluter Käse.

Das sagen zumindest Microsoft und Borland. Alles, was mit ^. angesprochen wird, ist "unsicherer Code", der nicht für .NET-Projekte verwendet werden soll:

Zitat:

Zitat von Delphi 2005 Hilfe
Unsafe-Code: '%s' (W1047)

Sie haben einen Datentyp verwendet oder einen Vorgang ausgeführt, der möglicherweise Speicher überschreibt. In einer gesicherten Ausführungsumgebung wie beispielsweise .NET wird solcher Code als unsicher und potentiell gefährlich betrachtet.



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.
Seite 2 von 2     12   

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