Wie bitte?
Zitat von
mael:
"Echte" Listen haben gegenüber dynamischen Arrays den Vorteil, daß Einfüge-Operationen in konstanter Zeit geschehen, d.h. man nur next bzw. prev Pointer anpassen muß.
Das mag ja für die Nachfahren Stack oder Queue gelten, aber für "echte" Listen gibt Dr. Landau immer O(n) an.
Zitat von
mael:
Bei dynamischen Arrays muß hingegen ein durchgehender Speicherblock "gefunden" und dann alles kopiert werden, was je nach Listengröße auch gar nicht machbar ist.
Da beschreibst du jetzt aber wirklich den Sonderfall.
Wenn das framework team von Delphi keine zeiger-basierten Stacks und Queues implementiert hat, dann deshalb, weil die wissen, dass die beiden Implementierungen (zeiger vs array) funktional gleichwertig sind - die trade-offs sind ja schon beschrieben worden. Wer kann, der trifft im Einzelfall eine qualifizierte Entscheidung, alle anderen benutzen die mitgelieferten Komponenten und fahren im Regelfall nicht schlecht damit.
Freundliche Grüße vom marabu