L'idée de base du tri à bulles est la suivante : traiter la séquence de tri
d'avant en arrière (en commençant par l'élément avec l'indice le plus petit), et comparer les valeurs des éléments adjacents. éléments dans l'ordre. Si l'ordre inverse est trouvé, les éléments sont échangés, de sorte que les éléments avec des valeurs plus grandes se déplacent progressivement de l'avant vers l'arrière, tout comme des bulles sous l'eau, s'élevant progressivement.
Car lors du processus de tri, chaque élément se rapproche constamment de sa propre position. Si aucun échange n'a été effectué lors d'une comparaison, cela signifie que la séquence est en ordre.
Illustration du processus d'algorithme de tri des bulles
Premier passage de tri
Deuxième tri
Le troisième tri
La quatrième passe de tri
Résumé de la règle de tri des bulles
import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { // TODO Auto-generated method stub int arr[]= {3,9,-1,10,-2}; //第i+1趟排序,将最大的数排在最后 int temp=0;//临时变量 for(int i=0;i<arr.length-1;i++) {//定义第几轮排序 for(int j=0;j<arr.length-1-i;j++) { if(arr[j+1]<arr[j]) { temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } System.out.println("输出第"+(i+1)+"趟排序的结果"); System.out.println(Arrays.toString(arr)); } } }
Afficher les résultats du premier tri2. Méthode de tri par sélection[3, -1, 9, -2, 10]
Afficher les résultats du deuxième tri
[-1, 3, - 2 , 9, 10]
Afficher le résultat du troisième tri
[-1, -2, 3, 9, 10]
Afficher le résultat du quatrième tri
[-2, -1, 3, 9, 10]
Idée de tri :
Tableau original : 101, 34, 119, 1Instructions :
1. La taille totale du tri de sélection - 1 tour de tri2. 1 tour de tri, une autre boucle, les règles (code) de la boucleimport java.util.Arrays; public class QuickSort { public static void main(String[] args) { //int []arr={ 8,3,2,1,7,4,6,5}; int [] arr={101,34,109,1}; quicksort(arr); } public static void quicksort(int []arr){ for(int j=0;j<arr.length-1;j++) { int minindex=j;//假定当前下标为最小值下标 int minnumber=arr[j];//假定当前元素为最小值 for (int i = 1+j; i < arr.length; i++) { if (arr[i] < minnumber) {//若假定最小值并不是最小的 minnumber = arr[i];//重置minnumber minindex = i;//重置minindex } } //将最小值交换 arr[minindex] = arr[j]; arr[j] = minnumber; System.out.println("第"+(j+1)+"轮"); 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!