Bonjour ,
je me retrouve confronter à un problème de compréhension au niveau de l algorithme du tri à bulles par odre croissant.
Dans la partie significative du code (ci dessous ) assurant l'inversion ,je ne comprend pas :
1-pourquoi on affecte à l' entier boucle la valeur nbreElem-1 (correpond au nombre d'éléments du tableau).
2-Pourquoi incrémenter boucle de -1 , je comprends bien que c' est pour sortir de la boucle while , mais pour moi cela signifie que meme lorsque le tri est réalisé , on continue à le trier??
je vous remercie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 int boucle = nbElem -1 ; // boucle pour le tri while (boucle >= 1){ for (int i = 0 ; i <= boucle - 1 ; i++){ if (tabEntier[i] > tabEntier[i+1]){ // Inversion temp = tabEntier[i]; tabEntier[i] = tabEntier[i+1]; tabEntier[i+1] = temp; } } boucle = boucle - 1; System.out.print("Contenu du tableau pendant le tri : "); for (int i = 0 ; i <= (tabEntier.length - 1); i++) { System.out.printf("%4d",tabEntier[i]); } System.out.println(); }
Partager