En apprenant les bases de Java, j'ai rencontré un problème avec les algorithmes, alors je l'ai écrit pour organiser mes pensées.
Trier par ordre croissant (par exemple 2,5,3,4,1 → 1,2,3,4,5) À propos, ordre décroissant (5,4,3,2,1)
Les images sont comparées et réorganisées une par une avec une instruction for à gauche. (Exemple comparatif: 2 et 5, 2 et 3, 2 et 4, 2 et 1 ...)
Il existe différentes manières de l'écrire, mais l'exemple de code suivant
1 int[] date = {2,5,3,4,1};
2 for (int i = 0; i < date.length - 1; i++) {
3 for (int j = i + 1; j < date.length ; j++) {
4 if (date[i] > date[j]) {
5 int a = date[i];
6 date[i] = date[j];
7 date[j] = a;
8 }
9 }
10}
11for (int i = 0; i < date.length; i++) {
12 System.out.print(date[i] + " ");
13}
Dans l'instruction for sur la deuxième ligne, spécifiez l'expression conditionnelle pour obtenir le premier élément à comparer.
Valeur initiale i= 0;Expression conditionnelle(i < date.length - 1);Étape suivante i++
Obtenez le nombre de valeurs qu'un élément compare avec
date.length -1 ''`.
Peu importe si le nombre de sortes augmente.
Le nombre de valeurs à comparer est par exemple: 2,5,3,4,Sur 1
2 et 5,2 et 3,2 et 4,2 et 1 4 fois
Afin d'obtenir le deuxième élément à comparer dans l'instruction for sur la troisième ligne, décrivez l'expression conditionnelle sous la forme de la valeur initiale «j = i + i».
valeur initiale(j = i +i);Expression conditionnelle(j < date.length);Étape suivante j++
Les instructions if des 4e à 8e lignes comparent les valeurs qui remplissent les conditions et les trient.
if (date[i] > date[j]) {
int a = date[i];
date[i] = date[j];
date[j] = a;
}
Affichage de la date après le tri
for (int i = 0; i < date.length; i++) {
System.out.print(date[i] + " ");
}
Affichage de la console
1 2 3 4 5
[Java] Tri à l'aide de tableaux (Bubble Sort)
Recommended Posts