Maison > Java > javaDidacticiel > Quelle boucle contrôle l'algorithme de tri à bulles ?

Quelle boucle contrôle l'algorithme de tri à bulles ?

藏色散人
Libérer: 2019-04-10 16:51:41
avant
3999 Les gens l'ont consulté

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+" ");
        }
    }
}
Copier après la connexion

Affichage du résultat :

Quelle boucle contrôle lalgorithme de tri à bulles ?

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;
Copier après la connexion

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;
        }
}
Copier après la connexion

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--;
}
Copier après la connexion

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+" ");
    }
    }
}
Copier après la connexion

Affichage des résultats :

Quelle boucle contrôle lalgorithme de tri à bulles ?

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!

Étiquettes associées:
source:jianshu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal