Maison  >  Article  >  Java  >  Analyse du tri à bulles Java : version simple et facile à comprendre

Analyse du tri à bulles Java : version simple et facile à comprendre

王林
王林original
2024-01-05 10:19:12680parcourir

Analyse du tri à bulles Java : version simple et facile à comprendre

Analyse concise et facile à comprendre de l'algorithme de tri à bulles Java

En informatique, le tri à bulles est un algorithme de tri simple mais inefficace. Il parcourt à plusieurs reprises les éléments à trier, en comparant deux éléments adjacents dans l'ordre, et les échange s'ils sont dans le mauvais ordre. Ce processus se poursuit jusqu'à ce que la séquence entière soit triée. L'algorithme de tri à bulles sera analysé en détail ci-dessous.

Le principe de l'algorithme de tri des bulles est de faire remonter le plus grand (ou le plus petit) élément jusqu'à la fin (ou le début) de la séquence en comparant et en échangeant continuellement les éléments adjacents, puis d'effectuer la même opération sur les éléments restants jusqu'à ce que le résultat soit obtenu. toute la séquence est en ordre.

Les étapes de l'algorithme sont les suivantes :

  1. Partez du premier élément de la séquence et comparez la taille de cet élément avec l'élément suivant.
  2. Si la commande est erronée, échangez.
  3. Continuez à comparer avec l'élément adjacent suivant et répétez les étapes 1 et 2.
  4. Jusqu'à ce que la traversée termine un tour, une comparaison complète et un échange de la séquence entière sont effectués.
  5. Répétez le premier tour de comparaison et d'échange à partir de zéro, mais cette fois la plage parcourue n'inclut pas les éléments triés.
  6. Répétez l'étape 1 à l'étape 5 jusqu'à ce que toute la séquence soit en ordre.

Ce qui suit est un exemple de code d'un algorithme de tri à bulles simple :

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        boolean swapped;
        for (int i = 0; i < arr.length - 1; i++) {
            swapped = false;
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;
                }
            }
            if (!swapped) {
                break;
            }
        }
    }
    
    public static void main(String[] args) {
        int[] arr = {5, 3, 8, 2, 1, 4};
        bubbleSort(arr);
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

Dans le code ci-dessus, nous définissons une méthode bubbleSort方法用来实现冒泡排序。swapped变量用来记录是否发生了交换,如果没有发生交换,说明已经排好序,可以提前结束排序。在main Nous définissons un tableau d'entiers et le trions, puis générons le tableau trié en le parcourant en boucle. résultat.

Ce qui précède est une analyse concise et facile à comprendre de l'algorithme de tri à bulles et de l'exemple de code Java correspondant. Bien que le tri à bulles soit d’une grande complexité temporelle, il est très simple et intuitif de trier certains ensembles de données à petite échelle.

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