échanger deux éléments
comparer l'élément i avec le i+1. Si le 2° est plus petit que le 1°, déplacer le 1° à la place du 2°. L'opération est répétée jusqu'à la fin du tableau : le plus grand élément est alors placé au bout du tableau. On recommence alors pour placer l'avant dernier puis...
On ne peut pas écrire :
si tab[i]>tab[i+1] alors {tab[i]= tab[i+1] ; tab[i+1]= tab[i] }
car la première affectation détruit tab[i]
On doit donc conserver la valeur de tab[i] dans une variable intermédiaire :
de i=1 jusqu'à n-1
si tab[i]>tab[i+1] alors {x= tab[i+1] ; tab[i+1]= tab[i] ; tab[i] =x}
répétition du tri
Une fois le premier passage réalisé on répète. Si l'on nomme nbelements le nombre total d'éléments de la liste alors, sachant que le nombre de passage (voir ex.) est de nbéléments-1, et l'étendue de la répétition par passage est de nbéléments - nombre de passages effectués :
de j=1 jusqu'à nbéléments-1
de i=1 jusqu'à nbéléments -j
si tab[i]>tab[i+1] alors {x= tab[i+1] ; tab[i+1]= tab[i] ; tab[i] =x}
AVANT LE TRI
APRÈS LE TRI