Selection Sort es un algoritmo de clasificación simple e intuitivo. Su principio de algoritmo es encontrar primero el elemento más pequeño (más grande) en la secuencia sin clasificar, almacenarlo en la posición inicial de la secuencia ordenada y luego seleccionarlo entre los elementos sin clasificar restantes. para buscar el elemento más pequeño (más grande) entre los elementos y almacenarlo al final de la secuencia ordenada, y así sucesivamente hasta que todos los elementos estén ordenados.
Hay un total de rondas de clasificación de selección de "número de matrices - 1", y cada ronda de clasificación es un ciclo. Las reglas del ciclo son las siguientes:
1) Primero suponga que el primer número del ciclo actual es el número más pequeño.
2) Luego compárelo con cada número posterior. Si encuentra que hay un número menor que el número actual, vuelva a determinar el número mínimo y obtenga el subíndice.
3) Al atravesar hasta el final de la matriz, se obtiene el número más pequeño de esta ronda.
4) Intercambiar con el primer número del bucle actual.
Por ejemplo:
importjava.util.Arrays;publicclassMain{publicstaticvoidmain(String[]args){int[]arr=newint[]{19,26,8,35,41,77};for(inti=0;i<arr.length- 1;i++){//Cada bucle encontrará el número más pequeño intminIndex=i;//Registra el subíndice del número más pequeño intminNum=arr[i];//Registra el número más pequeño for(intj=i+1;j< arr.length;j++){//Cada bucle encontrará el número más pequeño if(arr[j]<minNum){//Si el número actual es menor que el número mínimo, actualice el número mínimo minNum=arr[j]; //Actualizar el número mínimo minIndex=j;//Actualizar el subíndice del número mínimo}} arr[minIndex]=arr[i];//Pon el número mínimo al frente arr[i]=minNum;//Poner el bit de bandera a la posición original del número mínimo}for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}}}
Los resultados de ejecución son los siguientes:
81926354177