Array.sort

cs_klini Messages postés 7 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 19 juin 2007 - 15 juin 2007 à 21:07
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 16 juin 2007 à 20:58
Salut a tous,

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 ...??

merci de votre aide

Xavier

ps:je suis sous vb6

9 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 juin 2007 à 21:11
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 juin 2007 à 22:30
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 !
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
16 juin 2007 à 09:28
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...

<hr size="2" width="100%" />Julien.
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
16 juin 2007 à 19:03
Meilleur que SortedList ??

Sinon le plus rapide : Dim a as New List(Of T)

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 21
16 juin 2007 à 19:08
Klini, faudrait ce mettre d'accord vb6 ou vb.net ????
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
16 juin 2007 à 19:11
ah oops j'avais pas vu : VB6 ... (les génériques n'existent pas en VB6 si je me trompe pas)
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
16 juin 2007 à 19:35
Plus rapide que le QuickSort, le CountingSort en O(n). Inconvénient :Taille Mémoire = Valeur maximale  * TailleType
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
16 juin 2007 à 20:31
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...

<hr width="100%" size="2" />Julien.
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
16 juin 2007 à 20:58
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..
Rejoignez-nous