Vinzenz Mai: Sortieren mit "ungewöhnlichen" Konventionen

Beitrag lesen

Hallo,

  1. Elementreihenfolge sollte soweit wie möglich beibehalten werden

Du möchtest einen stabilen Sortieralgorithmus verwenden. Daraus folgt, dass Du die in PHP eingebauten Sortierfunktionen *nicht* verwenden kannst. Ich zitiere aus dem Handbuch:

<zitat>
    PHP has several functions that deal with sorting arrays, and this
    document exists to help sort it all out.

- [...]
    - If any of these sort functions evaluates two members as equal then
      the order is undefined (the sorting is not stable).
</zitat>

  1. Scalar, NULL sowie rein numerisch* indizierte Array Elemente sollen vor  anderen komplexen Elementen sortiert werden

Teile Dein Array in Teilarrays auf. Kombiniere nach dem Sortieren der Teilarrays diese in der von Dir gewünschten Reihenfolge.

Wie könnte man das effizienter bzw. eleganter gestalten?

Implementiere einen effizienten und stabilen Sortieralgorithmus, zum Beispiel Mergesort, den Du zum Sortieren Deiner Teilarrays verwendest.

Freundliche Grüße

Vinzenz