Blasensortierung
Es besucht wiederholt das zu sortierende Array, vergleicht jeweils zwei Elemente und tauscht sie aus, wenn sie in der falschen Reihenfolge sind. Der Besuch des Arrays wird wiederholt, bis kein Austausch mehr erforderlich ist, was bedeutet, dass das Array sortiert wurde.
Der Code lautet wie folgt:
public class nums { public static void main(String[] args){ int []nums = {5,4,3,2,1}; for(int i = 0; i < nums.length; i++){ for(int j = 0; j < nums.length-i-1; j++){ if(nums[j] > nums[j+1]){ int temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; } } for(int x = 0;x < nums.length;x++){ System.out.print(nums[x]+","); } System.out.print("\n"); } } }
Die Ausgabe nach jeder Vergleichsrunde lautet wie folgt:
1 4,3,2,1,5, 2 3,2,1,4,5, 3 2,1,3,4,5, 4 1,2,3,4,5, 5 1,2,3,4,5,
Der Algorithmusfluss der Blasensortierung kann aus dem klar verstanden werden Ausgabe.
Auswahlsortierung
In jedem Durchgang wird das kleinste (oder größte) Element aus den zu sortierenden Datenelementen ausgewählt und die Reihenfolge wird am Ende der sortierten Sequenz platziert, bis alle zu sortierenden Datenelemente vorhanden sind sortiert.
Der Code lautet wie folgt:
public class nums { public static void main(String[] args){ int []nums = {5,4,3,2,1}; for(int i = 0; i < nums.length; i++){ for(int j = 0; j < nums.length; j++){ if(nums[i] < nums[j]){ int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; } } for(int x = 0;x < nums.length;x++){ System.out.print(nums[x]+","); } System.out.print("\n"); } } }
Aus dem Code ist ersichtlich, dass in jeder Vergleichsrunde nums[i] mit jedem Element im Array verglichen wird.
Die Ausgabe nach jeder Vergleichsrunde ist wie folgt:
1 5,4,3,2,1, 2 4,5,3,2,1, 3 3,4,5,2,1, 4 2,3,4,5,1, 5 1,2,3,4,5,
Anhand der Ausgabeergebnisse ist der algorithmische Unterschied zwischen dieser und der Blasensortierung leicht zu erkennen.
Ausführlichere Erläuterungen zu den Unterschieden zwischen Java-Blasensortierung und Auswahlsortierung finden Sie auf der chinesischen PHP-Website!