phpbar.de logo

Mailinglisten-Archive

[php] Array sortierung erzwingen

[php] Array sortierung erzwingen

Markus Kiennen fastjack at gmx.de
Don Mai 27 12:25:53 CEST 2004


Mathias Gloss wrote:

> Aloha,
> 
> 
> 
> 
> 
>>From: Konstantin Rekk <k.rekk at intermatix.de>@phpbar.de  on 26.05.2004 
> 
> 19:20 ZE2
> 
> 
> 
>>erzeuge Array mit int-keys, dieses sollte aber sofort sortiert sein, 
> 
> also ohne 
> 
>>ksort()-Aufruf.
>>....
>>Komme ich also um ksort($array) nicht drum-herum?
> 
> 
> Nein. Das sortieren eines Arrays ist - gerade bei größeren Arrays - ein
> Riesenaufwand. Den müsstest du ja bei jeder Einfügeoperation durchführen.
> 
> Das einzigste was du machen kannst, ist ne eigene Arrayklasse o.ä. 
> basteln,
> in der beim Einfügen eines neuen Elements (oder vor dem Auslesen, 
> jenachdem
> was günstiger ist) die Werte des Arrays sortiert werden.
> Aber wie gesagt, das kostet Rechenzeit.
> 
> Einen fertigen Array-das-sortiert-bleibt-Datentyp gibts in php nicht.

Leider ist mir noch nicht ganz klar worauf es wirklich hinausläuft, aber 
warum ein Array nehmen für Daten die sortiert sein und bleiben sollen, 
und auf denen ich ja auch noch suchen muss.

Da gibt es wesentlich sinnvollere Datentypen (Bäume z.B.). Es gibt Bäume 
  in denen der Sortier und Suchaufwand logarithmisch ist (AVL + 2-3-4 
Baum  AFAIK).

Hoffe ich lieg jetzt nicht völlig daneben :)

Markus

php::bar PHP Wiki   -   Listenarchive