Heim > php教程 > PHP开发 > Eine ausführliche Erklärung des Unterschieds zwischen Java-Bubble-Sortierung und Auswahlsortierung

Eine ausführliche Erklärung des Unterschieds zwischen Java-Bubble-Sortierung und Auswahlsortierung

高洛峰
Freigeben: 2016-12-19 13:32:26
Original
1337 Leute haben es durchsucht

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");
         }
     }
 }
Nach dem Login kopieren

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,
Nach dem Login kopieren

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");
         }
     }
 }
Nach dem Login kopieren

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,
Nach dem Login kopieren

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!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage