Maison  >  Article  >  Java  >  Écrivez une fonction pour trier les données du tableau de petite à grande

Écrivez une fonction pour trier les données du tableau de petite à grande

angryTom
angryTomoriginal
2019-08-01 11:19:4710446parcourir

Écrivez une fonction pour trier les données du tableau de petite à grande

Bubble Sort est un algorithme de tri relativement simple dans le domaine de l'informatique.

Il visite à plusieurs reprises la colonne d'éléments à trier, compare tour à tour deux éléments adjacents et les échange si leur ordre (par exemple du grand au petit, première lettre de A à Z) est erroné. Le travail des éléments en visite est répété jusqu'à ce qu'aucun élément adjacent ne doive être échangé, ce qui signifie que la colonne d'éléments a été triée.

Si vous souhaitez en savoir plus sur Java, vous pouvez cliquer sur : Tutoriel Java

Le nom de cet algorithme La raison en est que les éléments plus gros « flotteront » lentement vers le haut de la séquence par échange (disposés par ordre croissant ou décroissant), tout comme les bulles de dioxyde de carbone dans les boissons gazeuses finiront par flotter vers le haut, d'où le nom de « tri des bulles ». ".

Le principe de l'algorithme de tri à bulles est le suivant :

 1. Comparez les éléments adjacents. Si le premier est plus grand que le second, échangez-les tous les deux.

2. Faites le même travail pour chaque paire d'éléments adjacents, de la première paire au début jusqu'à la dernière paire à la fin. À ce stade, le dernier élément doit être le plus grand nombre.

3. Répétez les étapes ci-dessus pour tous les éléments sauf le dernier.

4. Continuez à répéter les étapes ci-dessus pour de moins en moins d'éléments à chaque fois jusqu'à ce qu'il n'y ait plus de paires de nombres à comparer.

public class Sort {
    public static void main(String[] args){
        int[] arr = {6,3,2,1,7};
        for(int i = 0;i<arr.length-1;i++){//外层循环n-1
            for(int j = 0;j<arr.length-i-1;j++){//内层循环n-i-1
                if(arr[j]>arr[j+1]){//从第一个开始,往后两两比较大小,如果前面的比后面的大,交换位置
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }
}

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!

Déclaration:
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
Article précédent:NullPointerExceptionArticle suivant:NullPointerException