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 :
Je ne comprends pas comment réagissent les While.
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++; }
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(); } }
Partager