moin n.d. :)
Mir fallen grundsaetzlich zwei Moeglichkeiten ein:
1.)
Man koennte sich ein Array bauen, in dem in der Wunschreihenfolge die Zeichen (in der entsprechenden Codierung, UTF-8 vielleicht) stehen.
Die Vergleichsfunktion nimmt sich dann die Strings auseinander und vergleicht sie entsprechend dem Array.
genau das macht die RoRo Translation Function *g
2.) 1.) duerfte sehr performancelastig sein, gerade bei groesseren zu sortierenden Listen.
hmm , stimmt!
Man benutzt das in 1.) gebaute Array und baut sich einen Hash, der als Schluessel die zu sortierende Liste enthaelt und als Werte die Schluesselstrings mutiert [1]. Also so umgebaut, dass die ASCII-Vergleichsfunktion, die dann auf die Werte angewandt wird, das richtige Ergebnis liefert.
Das klingt etwas komplizierter als 1.). Ist es auch (ein bisschen)[2], duerfte aber letztendlich bedeutend effektiver sein.
so isses, bin am Schreiben (110 Anschläge/min) hash, hash ... die Lösung liegt in einem Hasch - das geht fix!
[2] das ist die Grundidee, mit einer genauen Implementierung muesste ich mich noch beschaeftigen, das Thema interessiert mich jedenfalls ungemein ;)
Vom Prinzip habch den Kram ja schon fertig ;-)
Rolf