Le tri à bulles est l'un des algorithmes les plus couramment utilisés pour trier les données en Java. Le tri est effectué de manière récursive en comparant les nombres adjacents et en les décalant dans l'ordre croissant ou décroissant. Ce déplacement des éléments est effectué jusqu'à ce que tous les chiffres soient complètement triés dans l'ordre requis. Le tri à bulles est le nom car les éléments d'une bulle de tableau sont leur façon de commencer. Comprenons l'algorithme de tri à bulles en prenant un exemple.
Exemple : Considérons un tableau de nombres [6 1 8 5 3] qui doivent être classés par ordre croissant.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
L'algorithme de tri à bulles fonctionne en plusieurs itérations jusqu'à ce qu'il constate que tous les nombres sont triés.
Vous trouverez ci-dessous les itérations effectuées dans Bubble Sort en Java qui sont les suivantes :
Comme les chiffres n'augmentent pas encore complètement, le programme passe à la deuxième itération.
[1 6 5 3 8] – Ici, la comparaison recommence à partir des deux premiers chiffres du résultat de la première itération. Il compare les nombres 1 et 6 et conserve le même ordre puisque 1 est inférieur à 6. [1 6 5 3 8] – Ici, les nombres 5 et 6 sont comparés. Le même ordre est conservé tel qu'il est déjà dans l'ordre croissant requis. [1 5 6 3 8] – Une comparaison se produit entre les nombres 6 et 3. Le chiffre 3 est décalé vers la gauche car il est plus petit que 6. [1 5 3 6 8] – Ensuite, les nombres 6 et 8 sont comparés les uns aux autres. Le même ordre est conservé tel quel dans un ordre attendu. [1 5 3 6 8] – C'est le résultat final après la deuxième itération. On remarque néanmoins que les chiffres ne sont pas complètement classés dans leur ordre croissant. Pourtant, nous devons échanger les numéros 5 et 3 pour obtenir le résultat final. Le programme passe donc à la troisième itération.Comme seuls 5 éléments d'un tableau devaient être triés, cela n'a pris que 3 itérations. À mesure que les éléments du tableau augmentent, le nombre d'itérations augmente également.
Vous trouverez ci-dessous le code Java, qui implémente l'algorithme de tri Bubble. (Notez que la première position d'un tableau en Java commence à 0 et continue par incréments de 1, c'est-à-dire array[0], array[1], array[2], et cela continue.)
Code :
import java.util.Scanner; public class BubbleSort { static void bubbleSort(int[] arraytest) { int n = arraytest.length; //length of the array is initialized to the integer n int temp = 0; //A temporary variable called temp is declared as an integer and initialized to 0 for(int i=0; i < n; i++){ // first for loop performs multiple iterations for(int j=1; j < (n-i); j++){ if(arraytest[j-1] > arraytest[j]){ // if loop compares the adjacent numbers // swaps the numbers temp = arraytest[j-1]; // assigns the greater number to temp variable arraytest[j-1] = arraytest[j]; // shifts the lesser number to the previous position arraytest[j] = temp; // bigger number is then assigned to the right hand side } } } } public static void main(String[] args) { int arraytest[] ={23,16,3,42,75,536,61}; // defining the values of array System.out.println("Array Before Doing Bubble Sort"); for(int i=0; i < arraytest.length; i++){ // for loop used to print the values of array System.out.print(arraytest[i] + " "); } System.out.println(); bubbleSort(arraytest); // array elements are sorted using bubble sort function System.out.println("Array After Doing Bubble Sort"); for(int i=0; i < arraytest.length; i++){ System.out.print(arraytest[i] + " "); // for loop to print output values from array } } }
Sortie :
Vous trouverez ci-dessous les différents avantages et inconvénients du tri à bulles en Java :
Le tri à bulles étant capable de détecter d'infimes erreurs de tri, il est utilisé en infographie. Il est également utilisé dans l’algorithme de remplissage des polygones, où les sommets du polygone doivent être triés.
Cet article a vu comment fonctionne l'algorithme de tri à bulles et comment il peut être implémenté à l'aide de la programmation Java. Le tri à bulles est un algorithme très stable qui peut être facilement implémenté pour des ensembles de données relativement petits. Il s'agit d'un cas d'algorithme de comparaison et est utilisé par les novices en raison de sa simplicité.
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!