Maison  >  Article  >  Java  >  Quelle est la façon la plus simple d'écrire un tri à bulles en Java

Quelle est la façon la plus simple d'écrire un tri à bulles en Java

DDD
DDDoriginal
2024-01-09 13:45:071069parcourir

La façon la plus simple d'écrire un tri à bulles Java : 1. Utilisez deux boucles for imbriquées pour comparer les éléments adjacents et les échanger. La boucle externe contrôle le nombre de tours de comparaison et d'échange, et la boucle interne est utilisée pour parcourir le tableau et. Effectuez des opérations de comparaison et d'échange.Après chaque boucle interne, le plus grand élément sera échangé jusqu'à la fin du tableau ; 2. Utilisez la méthode main pour créer un tableau contenant des entiers et appelez la méthode bubbleSort pour trier le tableau ; , imprime le tableau trié, etc.

Quelle est la façon la plus simple d'écrire un tri à bulles en Java

Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.

La façon la plus simple d'écrire un tri à bulles Java est la suivante :

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        boolean swapped;
        
        for (int i = 0; i < n - 1; i++) {
            swapped = false;
            
            for (int j = 0; j < n - i - 1; 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 = {64, 34, 25, 12, 22, 11, 90};
        bubbleSort(arr);
        System.out.println("排序后的数组:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

Dans cette implémentation simple de tri à bulles, nous utilisons deux boucles for imbriquées pour comparer les éléments adjacents et les échanger. La boucle externe contrôle le nombre de tours de comparaison et d'échange, et la boucle interne est utilisée pour parcourir le tableau et effectuer des opérations de comparaison et d'échange. Après chaque tour de la boucle interne, le plus grand élément est remplacé à la fin du tableau. La condition de fin de la boucle interne est n - i - 1, où n est la longueur du tableau et i est l'index de la boucle externe. La boucle interne utilise également un indicateur d'échange pour déterminer si un échange a eu lieu. Si aucun échange n'a eu lieu, cela signifie que le tableau est en ordre et que la boucle peut être terminée plus tôt.

Dans la méthode main, nous créons un tableau contenant des entiers et appelons la méthode bubbleSort pour trier le tableau. Enfin, nous imprimons le tableau trié.

La complexité temporelle de cette implémentation simple de tri à bulles est O(n^2), où n est la longueur du tableau. Bien que cette implémentation soit simple et facile à comprendre, elle est moins efficace pour les grands ensembles de données. Par conséquent, dans des applications pratiques, il faudra peut-être envisager d’autres algorithmes de tri plus efficaces.

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