Selection Sort ist ein einfacher und intuitiver Sortieralgorithmus. Sein Algorithmusprinzip besteht darin, zuerst das kleinste (größte) Element in der unsortierten Sequenz zu finden, es an der Startposition der sortierten Sequenz zu speichern und es dann aus den verbleibenden unsortierten Elementen auszuwählen um nach dem kleinsten (größten) Element unter den Elementen zu suchen und es am Ende der sortierten Sequenz zu speichern, und so weiter, bis alle Elemente sortiert sind.
Es gibt insgesamt „Anzahl der Arrays – 1“ Auswahlsortierungsrunden, und jede Sortierrunde ist ein Zyklus. Die Regeln des Zyklus sind wie folgt:
1) Nehmen Sie zunächst an, dass die erste Zahl im aktuellen Zyklus die kleinste Zahl ist.
2) Vergleichen Sie es dann mit jeder nachfolgenden Zahl. Wenn festgestellt wird, dass es eine kleinere Zahl als die aktuelle Zahl gibt, bestimmen Sie die Mindestzahl neu und ermitteln Sie den Index.
3) Beim Durchlaufen bis zum Ende des Arrays wird die kleinste Zahl dieser Runde erhalten.
4) Austausch mit der ersten Nummer der aktuellen Schleife.
Zum Beispiel:
importjava.util.Arrays;publicclassMain{publicstaticvoidmain(String[]args){int[]arr=newint[]{19,26,8,35,41,77};for(inti=0;i<arr.length- 1;i++){//Jede Schleife findet die kleinste Zahl intminIndex=i;//Zeichnet den Index der kleinsten Zahl auf intminNum=arr[i];//Zeichnet die kleinste Zahl auf for(intj=i+1;j< arr.length;j++){//Jede Schleife findet die kleinste Zahl if(arr[j]<minNum){//Wenn die aktuelle Zahl kleiner als die Mindestzahl ist, aktualisieren Sie die Mindestzahl minNum=arr[j]; //Aktualisiere die Mindestzahl minIndex=j;//Aktualisiere den Index der Mindestzahl}} arr[minIndex]=arr[i];//Setze die Mindestzahl in den Vordergrund arr[i]=minNum;//Put das Flag-Bit an die ursprüngliche Position der Mindestzahl}for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}}}
Die Laufergebnisse sind wie folgt:
81926354177