Tri tres rapide alphanumerique

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 064 fois - Téléchargée 42 fois

Contenu du snippet

Voila c tres court, tres rapide et surtout tres efficace.

fonctionne assurement avec vb 5 et 6 (de toute facon il n'y a rien de complique donc je pense que ca marche aussi avec les autres versions)

je considere ici que les donnees a trier sont dans un tableau (W_Tableau) et que la variable Maxi correspond au nombre d'enregistrement dans ce tableau.
il ne faut pas oublie non plus la variable Temp qui est a declarer en string.

Source / Exemple :


Ordre croissant :

While I <= Maxi
    J = I
    K = J + 1
    While K <= Maxi
        If W_Tableau(K) < W_Tableau(J) Then
            J = K
        End If
        K = K + 1
    Wend
    If J <> I Then
        Temp = W_Tableau(J)
        W_Tableau(J) = W_Tableau(I)
        W_Tableau(I) = Temp
    End If
    I = I + 1
Wend

ordre decroissant :

While I <= Maxi
    J = I
    K = J + 1
    While K <= Maxi
        If W_Tableau(K) > W_Tableau(J) Then
            J = K
        End If
        K = K + 1
    Wend
    If J <> I Then
        Temp = W_Tableau(J)
        W_Tableau(J) = W_Tableau(I)
        W_Tableau(I) = Temp
    End If
    I = I + 1
Wend

Conclusion :


g mis ce code car en cherchant sur vbfrance je n'ai rien trouve de plus performant. cependant je n'ai pas tout regarde donc si vous connaissez un code comme celui-ci ou mieux, ce serai gentil de me donner le nom de la source.

A voir également

Ajouter un commentaire Commentaires
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
29 nov. 2002 à 08:26
Bonjour,

En fait je me permet de faire une petite critique, mais constructive. Ta méthode est classic, mais fonctionnelle. Il serait plutôt intéressent que tu utilise un algo de QuickSort pour sa rapiditée et sa fiabilitée.

Sinon c'est plutôt un exemple très simple, mais intéressent pour les débutant, alors bonne continuation,

[Gally Home Corp]
celiphane Messages postés 466 Date d'inscription samedi 16 février 2002 Statut Membre Dernière intervention 20 avril 2007
29 nov. 2002 à 13:43
Slt,
juste un petit commentaire pour réagir sur ta source :
cet algo est en effet un algo de tri, il porte un nom qui est le "tri à bulle", cependant ta version est tout petit peu moins ergonomique que l'original puisque tu utilises des "WHILE...WEND" plutot que des "FOR...NEXT", obligeant ainsi l'incrémentation manuelle par ligne de code des variables.

Sache également que ce tri est le MOINS rapide de tout ceux existant. Ce n'est donc pas un "TRI TRES RAPIDE". Voilà.

@+ tchao...
Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004
29 nov. 2002 à 20:17
Rien de plus performant ! si il y a !

le tri a bulle, C pas terrible, et pour faire constructif, il fo divisez le array en array de 5 ou de 10 pui après der un tri a bull sur chaque puis fusionner les array en les réarrangeant.

cf source d'agaga (un must)
philmc99 Messages postés 3 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 9 janvier 2003
8 janv. 2003 à 07:40
je te mets un 10 parceque j'aime bien les TantQue,
(suis toujours un peu traumatise par mon prof d'Info(ki disait que les For next ct pour les..)..euuh ct en .. 80 et des balais... sigh..ack i just got one more white hair, F..
Sinon oui, c un tri a bulle, il propre et bien fait. c bien.
Laruche82 Messages postés 11 Date d'inscription vendredi 10 mai 2002 Statut Membre Dernière intervention 1 juin 2004
11 janv. 2003 à 12:21
philmc99 -> je te remercie pour ta note. en fait si j'ai mis des tantque c parce que meme aujourd'hui les profs n'aiment pas les for next : mon prof d'algo utilise toujours des tantque (si je met autre chose ca lui plait pas) alors g pris la mauvaise habitude d'utiliser des tantque.

quand a le rapidite de ce tri, il est vrai que je n'ai jamais vraiment essaye les autres types les PC du cfsa ou je suis sont assez puissants et le mien perso l'ests encore plus alors je ne me rend pas vraiment compte.

et enfin je vous remercie tous pour vos critique.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.