Explication algorithme

Bonjour J’ai une question

75db7d4d fb92 4140 8c5b 0b7f53e2f5bc

J’ai bien vu que cette algo mettait les valeurs des cellules dans l’ordre croissant mais quelqu’un peut-il m’expliquer les lignes du code s’il vous plaît ? Je ne comprend pas son fonctionnement.

Merci d’avance 🙃

Bonjour,

Voici le code commenté en espérant t'aider à mieux le comprendre :

Sub Exo1()

    'déclaration des variables (toutes en Integer, Entier dont les bornes sont -32768 et 32767)
    Dim t(1 To 10) As Integer 'ici, un tableau à une dimension de 10 éléments
    Dim i As Integer
    Dim tmp As Integer
    Dim permut As Integer

    'initialise la variable qui par défaut vaut 0 afin que la boucle plus bas puisse se dérouler
    'au moins une fois
    permut = 1

    'charge dans le tableau les valeurs qui sont dans les
    'cellules de la feuille dont le nom du module est Feuil1 de A1 à J1
    For i = 1 To 10

        t(i) = Feuil1.Cells(1, i)

    Next i

    'permut sert d'interrupteur (bouclera tant que permut vaudra 1)
    While permut = 1

        'mets à 0 et si dans le cas où le tableau est déjà trié
        'de cette façon on sortira de la boucle While-Wend
        permut = 0

        'boucle sur le tableau en prenant soint de ne pas dépasser le dernier élément
        'car sinon, "t(i + 1)" génèrera une erreur de dépassement d'indice
        For i = 1 To 9

            If t(i) > t(i + 1) Then

                'comme le test est positif, positionne à 1 pour pouvoir continuer
                'la boucle primaire
                permut = 1

                'interchange les valeurs entre les deux éléments en se servant d'une
                'variable temporaire
                tmp = t(i)
                t(i) = t(i + 1)
                t(i + 1) = tmp

            End If

        Next i

    Wend

    'inscrit le résultat en ligne 2
    For i = 1 To 10
        Feuil1.Cells(2, i) = t(i)
    Next i

End Sub

Bonsoir,

Cet algorithme de tri est le plus lent qui puisse exister (tri à bulles). Le temps de tri est proportionnel à NxN

Il est préférable d'utiliser l'algorithme Quick-Sort (le + rapide)

http://boisgontierjacques.free.fr/pages_site/tableaux.htm#Tri

Ceuzin

Rechercher des sujets similaires à "explication algorithme"