Maison >Java >javaDidacticiel >Quelle boucle contrôle l'algorithme de tri à bulles ?
Cet article vous présente principalement quelle boucle est contrôlée par le tri des bulles. Ensuite, l'algorithme de tri des bulles peut être implémenté par une boucle for double couche ou une boucle for simple. Ci-dessous, nous présenterons la méthode d'implémentation du tri à bulles avec des exemples de code spécifiques !
1. Quelle est la méthode de tri des bulles ?
Comparez les éléments adjacents. Si le premier est plus grand que le second, échangez leurs positions, puis continuez à regarder vers le bas
Deux, deux étapes d'un. méthode de tri des bulles :
Triez les tableaux suivants : (22,3,6,54,86,21,35,1,65,4)
1. Méthode de tri des bulles ordinaire :
Étapes de mise en œuvre :
1 : Double couche pour l'imbrication des boucles
2. Déterminez si les conditions sont remplies, échangez les positions ; des deux nombres ;
public class BubbleSort { public static void main(String[] args) { int a[]={22,3,6,54,86,21,35,1,65,4}; for(int i= 0 ;i<a.length;i++){ //第一层循环 for(int j=0;j<a.length-i-1;j++){ //第二层循环 if(a[j]>a[j+1]){ //交换位置 int tem =a[j]; a[j]=a[j+1]; a[j+1]=tem; } } } System.out.println("排好序:"); for(int aa:a){ System.out.print(aa+" "); } } }
Affichage du résultat :
La double couche pour la boucle implémente la méthode de tri des bulles
2. Une seule boucle for implémente la méthode de tri à bulles :
a.) Définir le tableau à trier et la longueur relative du tableau
int a[]={22,3,6,54,86,21,35,1,65,4}; int team=a.length-1;
b.) Implémentation du tri :
1. Boucle for unique
2. Déterminez si les positions doivent être échangées
for(int i= 0 ;i<team;i++){ if(a[i]>a[i+1]){ int tem =a[i]; a[i]=a[i+1]; a[i+1]=tem; } }
3. la boucle se termine ;
4. Si la boucle for se termine, -1 sera attribué à i, et la longueur de l'équipe sera réduite de 1, et la boucle suivante continuera
if(i==team-1){ i=-1; team--; }
c.) Programme complet :
//单个for循环的冒泡排序法 public class BubbleSort { public static void main(String[] args) { int a[]={22,3,6,54,86,21,35,1,65,4}; int team=a.length-1; for(int i= 0 ;i<team;i++){ if(a[i]>a[i+1]){ int tem =a[i]; a[i]=a[i+1]; a[i+1]=tem; } if(i==team-1){ i=-1; team--; } } System.out.println("排好序:"); for(int aa:a){ System.out.print(aa+" "); } } }
Affichage des résultats :
Une seule boucle for implémente le tri des bulles
Cet article provient du site Web PHP chinois, plus de connaissances connexes Veuillez cliquer pour accéder à la chaîne de cours vidéo du site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!