begin process at 2012 05 24 17:14:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

PPC :: Divers

 > TRI D'UN TABLEAU DE VALEUR DANS L'ORDRE CROISSANT

TRI D'UN TABLEAU DE VALEUR DANS L'ORDRE CROISSANT


 Information sur la source

Note :
Aucune note
Catégorie :PPC :: Divers Classé sous :tableau, table, tri, sort, croissant Niveau :Débutant Date de création :19/06/2003 Date de mise à jour :19/06/2003 08:50:35 Vu :32 426

Auteur : benbax

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

 Description

    Petit bout de code sans aucune prétention, pour que le site possède des algorithmes types, au milieu des exemples. Ce petit bout de code pourra servir si vous cherchez un moyen rapide et efficace pour trier un tableau de valeur. Si vous utilisez un autre langage que le VB, l'algorithme est utilisable dans BEAUCOUP de language.
Plus communément appellé le tri a bulle.....

Petit problème connu : C'est vous qui me l'apprendrai =)

Source

  • Dim i, j, tmp, tmpMin, tmpMax, tableau(10)
  • Dim invert as Boolean
  • 'Considérons que le tableau est plein de valeurs aléatoires....
  • tmpMin = 1
  • tmpMax = 0
  • invert = True
  • While invert = True
  • For i=0 to 10
  • If tableau(i)>tableau(i+1)
  • tmpMax = tableau(i)
  • tableau(i) = tableau(i+1)
  • invert = True
  • Else
  • invert = False
  • End If
  • If tableau(i)<tableau(i+1)
  • tmpMin = tableau(i+1)
  • tableau(i+1) = tableau(i)
  • invert = True
  • Else
  • invert = False
  • End If
  • Next
  • Wend
Dim i, j, tmp, tmpMin, tmpMax, tableau(10)
Dim invert as Boolean

'Considérons que le tableau est plein de valeurs aléatoires....

tmpMin = 1
tmpMax = 0
invert = True

While invert = True
     For i=0 to 10
          If tableau(i)>tableau(i+1)
               tmpMax = tableau(i)
               tableau(i) = tableau(i+1)
               invert = True
          Else
               invert = False
          End If

          If tableau(i)<tableau(i+1)
               tmpMin = tableau(i+1)
               tableau(i+1) = tableau(i)
               invert = True
          Else
               invert = False
          End If

     Next
Wend

 Conclusion

IMPORTANT :  Je connais bien cette alogorithme. Le seul problème, c'est que je l'ai tapée directement ici, sans la tester. Ce n'est pas pour autant qu'elle est fausse, je suis quasi-sur qu'elle fonctionne. Si quelqu'un la teste, merci de me dire si cela fonctionne bien, et si il y a un moyen pour l'optimiser.

A bientot Ben.


 Sources du même auteur

GERER L'ÉVÈNEMENT ONCOMM D'UNE LIAISON
ENVOIS D'UNE COTE VIA RS 232

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET COMPACT FRAMEWORK] CLASSE SENDKEYS par boutemine
Source avec Zip Source avec une capture Source .NET (Dotnet) TRAMES GPS par locust
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET COMPACT FRAMEWORK] UTILISER LA FENETRE CHOOSECONTACTDI... par boutemine
Source .NET (Dotnet) [.NET COMPACT FRAMEWORK]PLANIFIER L'EXECUTION DE L'APPLICATI... par boutemine
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET COMPACT FRAMEWORK] EFFECTUER DES APPELS TELEPHONIQUES. par boutemine

Commentaires et avis

Commentaire de psycho le 09/01/2004 15:18:12

salut, je pense pas que tu puisses trier ton tableau avec cet algo. Je crois qu il manque une ligne en fait : tu fais
tmpmax=tableau(i)
tableau(i)=tableau(i+1)
mais tu ne fais pas tableau(i+1)=tmpmax
donc, le tri n est pas fais, tu affectes juste le maximum a tous les éléments du tableau

dis moi si je me trompe.
allez @+

Commentaire de benbax le 24/02/2004 23:11:28

C'est bien vu =)

Désolé, pour les eventuels problèmes posé...
Je n'ai pas le temps de modifer, alors remerciement a psycho =)

Commentaire de manroww le 05/05/2011 15:33:38

Bonjour,

Si J'ai bien compris ta volonte de Benbax, tu voulais presenter a la fois la possibilite de tri croissant, et celle pour un tri decroissant ?
J'ai ecrit le code en consequence, inspire du tiens.
Il suffit de uncomment le tri decroissant, et comment le tri croissant pour inverser l'ordre :-)

Sub tri()
    
    Dim i           As Byte
    Dim j           As Byte
    
    Dim tmp         As Byte
    Dim tmpMin      As Byte
    Dim tmpMax      As Byte
    
    Dim tableau(10) As Byte
    
    Dim invert As Boolean
    
    
'    ***** POUR L'EXEMPLE  **************************************
    'Considérons que le tableau est plein de valeurs aléatoires....
    
        tableau(1) = 5
        tableau(2) = 3
        tableau(3) = 46
        tableau(4) = 7
        tableau(5) = 2
'   **************************************************************



    Do
        
        invert = False
        
        For i = 1 To 4
            

'             ******** Ordre CROISSANT ***********
              If tableau(i) > tableau(i + 1) Then

                   tmpMax = tableau(i)
                   tableau(i) = tableau(i + 1)
                   tableau(i + 1) = tmpMax
                   invert = True

              End If
'            *************************************
              
              
              
''             ******** Ordre DECROISSANT *********
'
'              If tableau(i) < tableau(i + 1) Then
'
'                   tmpMin = tableau(i + 1)
'                   tableau(i + 1) = tableau(i)
'                   tableau(i) = tmpMin
'                   invert = True
'
'              End If
'
''             *************************************
        
         Next i
    
    Loop While invert



'***** POUR L'EXEMPLE  *********
    
    For i = 1 To 5
        
        Debug.Print tableau(i)
    
    Next i
    
'*******************************


End Sub

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

zone de recherche dans fenêtre Windev [ par 1949 ] Bonjour, je souhaite effectuer une recherche dans une table à partir d'une fenêtre de saisie. le format de la saisie est numérique. l'affichage du rés Tableau avec des colonnes de differents types [ par gzitoun ] Bonjour a tout le forum!Je developpe une application en C# pour PDA avec Visual Studio.Je ne sais pas vers quelle structure m orienter, pouvez vous m .NET Lire un fichier Texte et le mettre dans un Tableau [ par JeffC1977 ] Salut...Je cherche sur le site des codes en .Net compact Framework pour lire un fichier. Mais ce que je trouve n'est pas en .Net. Je trouve du code ma VB.Net Tableau [ par JeffC1977 ] Salut....  Encore moi...J'arrive à mon deuxième prob... et après ca devrait etre réglé....Je suis capable de lire le fichier texte et maintenant je ve VB.Net Tableau [ par JeffC1977 ] Salut tout le monde J'ai essayé quelque truc pour mettre mon VB.Net Problème avec Tableau Erreur ??? Relié à quoi ??? [ par JeffC1977 ] Salut...J'ai réussi à régler un problème. Mon fichier texte contenait des valeurs avec des points et j'ai remplacé les points par des virgules...Sauf taille d une table dans une BD [ par gzitoun ] Bonjour,je programme sur pda en C# via VS.J aurais voulu savoir comment faire pour connaitre la taille d une table dans ma Base de donnees (je pensais VB.Net PictureBox [ par JeffC1977 ] Salut...Je veux faire apparaittre plusieurs cercle (à partir d'un Tableau) dans un PictureBox.Le code ci-dessous affiche qu'un seul cercle.Comment est suivi de table [ par gzitoun ] Bonjour,je suis en difficulte sur le synchronisation RDA.Lors de l'application de la methode push, precisement au moment  ou j effectue cette ligne:   Help! RDA jointure de table [ par gzitoun ] Bonjour,J ai besoin d aide svp...j ai un probleme:  j ai reussi a appliquer la methode pull pour le RDA pour des requetes simples.A present j'ai  beso


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,764 sec (4)

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