Cet article vous apporte des connaissances pertinentes sur java, qui présente principalement les problèmes liés à la mise en œuvre du tri à bulles. Le tri à bulles consiste à comparer deux éléments adjacents, du début à la fin de la liste, à comparer chaque paire d'éléments adjacents. à notre tour, jetons-y un coup d'œil. J'espère que cela sera utile à tout le monde.
Apprentissage recommandé : "Tutoriel Java"
Comparez deux éléments adjacents. Si le premier est plus grand que le second, échangez leurs positions (par ordre croissant, vice versa par ordre décroissant).
Comparez chaque paire d'éléments adjacents dans l'ordre du début à la fin de la liste. De cette façon, l'élément ayant la plus grande valeur « bulle » jusqu'à la fin de la liste grâce à l'échange, complétant ainsi le premier tour de « bulles ».
Répétez l'étape précédente et continuez à comparer les éléments adjacents depuis le début de la liste. Les éléments qui ont « bouillonné » n'ont pas besoin d'être comparés (vous pouvez les comparer jusqu'au bout. Les éléments qui ont « bouillonné » vers l'arrière n'ont pas besoin d'être échangés même s'ils sont comparés. Ne pas comparer peut réduire mesures).
Continuez à comparer à partir de la liste, et un élément « bouillonnera » avec succès à chaque tour de comparaison. Le nombre d'éléments qui doivent être comparés à chaque tour diminuera jusqu'à ce qu'il ne reste qu'un seul élément qui ne "bulle" pas (aucune paire d'éléments n'a besoin d'être comparée), puis le tri de la liste est terminé.
Prenons ce tableau unidimensionnel comme exemple :
int[] array = new int[]{55,33,22,66,11};
Le premier tour de démonstration de « bulle » est illustré dans la figure :
Le quatrième tour de démonstration "bulle" est comme indiqué ; sur la figure :
public class BubbleSort { public static void sort(int array[]) { //i表示第几轮“冒泡”,j 表示“走访”到的元素索引。 // 每一轮“冒泡”中,j 需要从列表开头“走访”到 array.length - 1 的位置。 for (int i = 0; i array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } }}
import java.util.Arrays;public class TestMain { public static void main(String[] args) { int[] array = new int[]{55, 33, 22, 66, 11}; //输出排序前的array数组 System.out.print("排序前:"); System.out.println(Arrays.toString(array)); //调用BubbleSort类中的sort方法对array数组进行排序 BubbleSort.sort(array); //输出冒泡排序后的array数组 System.out.print("排序后:"); System.out.println(Arrays.toString(array)); }}
排序前:[55, 33, 22, 66, 11]排序后:[11, 22, 33, 55, 66]Apprentissage recommandé : "
Tutoriel d'apprentissage Java
"
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!