begin process at 2012 02 14 00:54:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > TRI TRES RAPIDE ALPHANUMERIQUE

TRI TRES RAPIDE ALPHANUMERIQUE


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :28/11/2002 Date de mise à jour :28/11/2002 19:07:54 Vu :5 352

Auteur : Laruche82

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

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

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


 Sources du même auteur

Source avec Zip GESTIONNAIRE DE MP3 ASSEZ COMPLET
Source avec Zip PETIT GESTIONNAIRE DE MP3

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

Commentaires et avis

Commentaire de Gally le 29/11/2002 08:26:06

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]

Commentaire de celiphane le 29/11/2002 13:43:18

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

Commentaire de Alan71 le 29/11/2002 20:17:33

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)

Commentaire de philmc99 le 08/01/2003 07:40:59

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.

Commentaire de Laruche82 le 11/01/2003 12:21:30

philmc99 -&gt; 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.

Commentaire de gmni le 09/10/2008 14:19:25

ce serai bien de mettre un petit exemple pour exploiter ce code; pour
les debutants (hum hum)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales