Tri tres rapide alphanumerique

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 647 fois - Téléchargée 38 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

Messages postés
91
Date d'inscription
mercredi 6 novembre 2002
Statut
Membre
Dernière intervention
20 mars 2009

ce serai bien de mettre un petit exemple pour exploiter ce code; pour
les debutants (hum hum)
Messages postés
11
Date d'inscription
vendredi 10 mai 2002
Statut
Membre
Dernière intervention
1 juin 2004

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.
Messages postés
3
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
9 janvier 2003

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.
Messages postés
530
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
13 juin 2004

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)
Messages postés
466
Date d'inscription
samedi 16 février 2002
Statut
Membre
Dernière intervention
20 avril 2007

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...
Afficher les 6 commentaires

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.