Très logique comme approche pour un langage objet

Celà dit, c'est toujours intéressant de savoir coder un algo de tri.
Ton algo me semble correct, à un détail près :
1 2 3
| for (i = 1; i < longeur - 1; i++)
{
if (Int32.Parse(tabClassement[i].Pourcentage) < Int32.Parse(tabClassement[i++].Pourcentage)) |
Attention avec l'opérateur ++... "x++" n'est pas équivalent à "x+1" mais à "x = x+1". Quand tu écris "tabClassement[i++]", tu accèdes à l'élément d'index i, puis tu incrémente i. Donc ta comparaison compare le même élément du tableau, et le résultat est donc toujours
false. En plus, comme il y a aussi un ++ dans la boucle, tu incrémentes 2 fois à chaque passage dans la boucle, donc tu "sautes" un élément sur 2.
Il y a quelques problèmes avec les index... Je te conseille de faire varier
i de 0 (inclus) à
longueur - 1 (exclu), et de faire les comparaisons et les inversions sur les éléments d'index i et i+1
Partager