Die Grundidee der Blasensortierung besteht darin, die
Reihenfolge von vorne nach hinten zu behandeln (beginnend mit dem Element mit dem kleineren Index) und die Werte benachbarter Elemente zu vergleichen Wenn die umgekehrte Reihenfolge gefunden wird, werden die Elemente ausgetauscht, sodass sich die Elemente mit größeren Werten allmählich von vorne nach hinten bewegen, genau wie Blasen unter Wasser, und allmählich aufsteigen.
Denn während des Sortiervorgangs nähert sich jedes Element ständig seiner eigenen Position. Wenn bei einem Vergleich kein Austausch durchgeführt wurde, bedeutet dies, dass die Reihenfolge in Ordnung ist.
Veranschaulichung des Prozesses des Blasensortierungsalgorithmus
Erster Sortierdurchgang
Zweite Sortierung
Die dritte Sortierung
Der vierte Sortierdurchgang
Zusammenfassung der Blasensortierregel
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)); } } }
Geben Sie die Ergebnisse der ersten Sortierung aus2. Auswahlsortiermethode[3, -1, 9, -2, 10]
Geben Sie die Ergebnisse der zweiten Sortierung aus
[-1, 3, - 2 , 9, 10]
Das Ergebnis der dritten Sortierung ausgeben
[-1, -2, 3, 9, 10]
Das Ergebnis der vierten Sortierung ausgeben
[-2, -1, 3, 9, 10]
Sortieridee:
Ursprüngliches Array: 101, 34, 119, 1Anweisungen:
1. Die gesamte Array-Größe der Auswahlsortierung – 1 Sortierrunde2 1 Sortierrunde, eine weitere Schleife, die Regeln (Code) der Schleifeimport 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)); } } }
Das obige ist der detaillierte Inhalt vonSo schreiben Sie Code zum Implementieren der Blasensortierung und Auswahlsortierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!