Selection Sort é um algoritmo de classificação simples e intuitivo. Seu princípio de algoritmo é primeiro encontrar o menor (maior) elemento na sequência não classificada, armazená-lo na posição inicial da sequência classificada e, em seguida, selecioná-lo entre os elementos não classificados restantes. para procurar o menor (maior) elemento entre os elementos e armazená-lo no final da sequência classificada, e assim por diante até que todos os elementos sejam classificados.
Há um total de "número de matrizes - 1" rodadas de classificação por seleção, e cada rodada de classificação é um ciclo. As regras do ciclo são as seguintes:
1) Primeiro, suponha que o primeiro número do ciclo atual seja o menor número.
2) Em seguida, compare-o com cada número subsequente. Se for constatado que existe um número menor que o número atual, redetermine o número mínimo e obtenha o subscrito.
3) Ao percorrer até o final do array, obtém-se o menor número desta rodada.
4) Troque com o primeiro número do loop atual.
Por exemplo:
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 loop encontrará o menor número intminIndex=i;//Registra o subscrito do menor número intminNum=arr[i];//Registra o menor número for(intj=i+1;j< arr.length;j++){//Cada loop encontrará o menor número if(arr[j]<minNum){//Se o número atual for menor que o número mínimo, atualize o número mínimo minNum=arr[j]; //Atualiza o número mínimo minIndex=j;//Atualiza o subscrito do número mínimo}} arr[minIndex]=arr[i];//Coloca o número mínimo na frente arr[i]=minNum;//Coloca o número mínimo na frente o bit do sinalizador para a posição original do número mínimo}for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}}}
Os resultados da execução são os seguintes:
81926354177