Array.sort

Messages postés
7
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
19 juin 2007
- - Dernière réponse : cs_yvesyves
Messages postés
562
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
Afficher la suite 

9 réponses

Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
Commenter la réponse de mortalino
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
0
Merci
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 !
Commenter la réponse de jmfmarques
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
0
Merci
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.
Commenter la réponse de Julien237
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
0
Merci
Meilleur que SortedList ??

Sinon le plus rapide : Dim a as New List(Of T)
Commenter la réponse de allthew3
Messages postés
2377
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
16
0
Merci
Klini, faudrait ce mettre d'accord vb6 ou vb.net ????
Commenter la réponse de cs_Willi
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
0
Merci
ah oops j'avais pas vu : VB6 ... (les génériques n'existent pas en VB6 si je me trompe pas)
Commenter la réponse de allthew3
Messages postés
562
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010
0
Merci
Plus rapide que le QuickSort, le CountingSort en O(n). Inconvénient :Taille Mémoire = Valeur maximale  * TailleType
Commenter la réponse de cs_yvesyves
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
0
Merci
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.
Commenter la réponse de Julien237
Messages postés
562
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010
0
Merci
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..
Commenter la réponse de cs_yvesyves