Bonjour tout le monde et bonne année !

Le code ci-dessous me permet de classer par ordre croissant les données d'un tableau :

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
20
21
22
23
24
25
26
27
28
//Tri
		i=0;
		//i va donc de 0 à 8	
		while	(i < tab.length  )		{
			//recherche du minimum
			//initialisation avec le 1er élément
			minimum = tab[i]; //
			positionMinimum = i;
			j=i;
			while (j < tab.length )
			{
				if (tab[j] < minimum)
				{
					minimum = tab[j];
					positionMinimum = j;
				}
				
				j++;
				
			}	
			//permuttation du minimum avec le 1er élément.
				temp = tab[i];
				tab[i] = tab[positionMinimum];
				tab[positionMinimum] = temp;
				
				i++;
				
		}
Je ne comprends pas comment réagissent les While.

Est-ce que le while bleu passe dans toutes les valeurs du tableau avant de laisser la main au while vert ?

Est-ce qu'on revient au while bleu ensuite ?

Je ne comprends pas bien comment ça fonctionne, pourriez-vous s'il vous plait m'éguillier ?

Voici l'entierté du code :

Merci d'avance pour l'aide et mes meilleurs voeux.

beegees

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public class Ex06Chap08PG
 {
 public static void main(String[] args)
 {
 int taille = 10;
 int[] tableau = new int[taille];
 int positionMinimum, minimum, temp;
 int i = 0, j ;
 // on remplit le tableau avec des nombres aléatoires
 System.out.println("Tableau avant tri");
 for(i = 0; i < tableau.length; i++)
 {
 tableau[i] = (int) (Math.random() * 50);
 System.out.print(tableau[i] + " ");
 }
 System.out.println();
// tri
 i = 0;
//i est le compteur, i doit 
 while (i < tableau.length - 1 )
 {
 	System.out.println(i);
 // recherche du minimum
 // initialisation avec le 1er élément du tableau
 minimum = tableau[i];
 positionMinimum = i;
 j = i;
 while(j < tableau.length)
 {
 if (tableau[j] < minimum)
 {
 minimum = tableau[j];
 positionMinimum = j;
 }
 j++;
 }
 // permutation du minimum avec le 1er élément
 temp = tableau[i];
 tableau[i] = tableau[positionMinimum];
 tableau[positionMinimum] = temp;
 
 i++;
 }
 System.out.println("Tableau apres tri");
 for(i = 0; i < tableau.length; i++)
 {
 System.out.print(tableau[i] + " ");
 }
 System.out.println();
 }
 }