Alors comme pour mon precedent post, j ai l impression de rater quelque chose d'evident mais je ne vois pas quoi...
J ai un tableau de string que je veux trier par ordre alpha
et je fais donc tout simplement
Array.sort(montableau)
sauf que Array.sort n'est pas reconnu...
est ce que je dois importer quelque chose ...??
Je suis actuellement en train de mettre au point un algorithme de tri de tableau un peu particulier (un peu fou) qui devrait aller au moins une fois et demi plus vite que ceux que l'on connait déjà. Je me heurte à un petit os que j'espère résoudre d'ici peu, avant de me lancer (toujours sur le même principe) vers un algo encore plus "avancé".
Je crois qu'en attendant, le lien vers lequel Mortalino t'a dirigé est, parmi d'autres, un bon lien !
Meilleur que QuickSort/HeapSort ?
Wow si t'y arrive je serai très impressioné, me réjouis de voir ca...
Sinon utilise simplement une liste à la place de ton array, ou si tu veux vraiment utiliser une array, transforme le en liste avec List.AddRange(TonArray), et puis après le tri tu peux le retransformer avec List.CopyTo(TonArray).
C'est vrai qu'il y a le temps de copie a prendre en compte, mais le List.Sort est bien plus rapide (ordre n*log n) qu'un Tri-Bulle (ordre n^2) comme implémenté sur le seul snippet du lien de Mortalino qui n'utilise pas les listes...
CountingSort pour trier des string ^^, je te raconte pas les dégats de la taille du tableau de comptage ^^...Avec k le nombre de combinaisons d'objets différentes et n la taille du tableau, on a bien si k O(n), un temps O(n).
Maintenant pour des strings, mettons d'une longueur de 6 charactères avec rien que des lettres de A-Z, tu as déjà un algorithme de O(26^6), ce qui fait un tableau de strings de 308 Go pour commencer à devenir du O(n).... Je sais pas toi, mais moi je ne suis pas convaincu...
Evidemment cela ne marche que pour des nombres et je déconseille d'avoir des nombres à trier plus grands que 60000. Maintenant celui -ci est très efficace quand on doit l'utiliser 1 millions de fois (dans une boucle) par rapport au quicksort..