Selection Sort est un algorithme de tri simple et intuitif. Son principe d'algorithme est de trouver d'abord le plus petit (le plus grand) élément de la séquence non triée, de le stocker à la position de départ de la séquence triée, puis de le sélectionner parmi les éléments non triés restants. pour rechercher le plus petit (le plus grand) élément parmi les éléments et le stocker à la fin de la séquence triée, et ainsi de suite jusqu'à ce que tous les éléments soient triés.
Il y a un total de "nombre de tableaux - 1" tours de tri par sélection, et chaque tour de tri est un cycle. Les règles du cycle sont les suivantes :
1) Supposons d’abord que le premier nombre du cycle en cours est le plus petit nombre.
2) Comparez-le ensuite avec chaque nombre suivant. S'il s'avère qu'il y a un nombre inférieur au nombre actuel, redéterminez le nombre minimum et obtenez l'indice.
3) Lors du parcours jusqu'à la fin du tableau, le plus petit nombre de ce tour est obtenu.
4) Echange avec le premier numéro de la boucle en cours.
Par exemple:
importjava.util.Arrays;publicclassMain{publicstaticvoidmain(String[]args){int[]arr=newint[]{19,26,8,35,41,77};for(inti=0;i<arr.length- 1;i++){//Chaque boucle trouvera le plus petit nombre intminIndex=i;//Enregistre l'indice du plus petit nombre intminNum=arr[i];//Enregistre le plus petit nombre for(intj=i+1;j< arr.length;j++){//Chaque boucle trouvera le plus petit nombre if(arr[j]<minNum){//Si le nombre actuel est inférieur au nombre minimum, mettez à jour le nombre minimum minNum=arr[j]; / /Mettre à jour le nombre minimum minIndex=j;//Mettre à jour l'indice du nombre minimum}} arr[minIndex]=arr[i];//Mettre le nombre minimum au premier plan arr[i]=minNum;//Mettre le nombre minimum au début le bit d'indicateur à la position d'origine du nombre minimum}for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}}}
Les résultats en cours d'exécution sont les suivants :
81926354177