Selection Sort
💡 Entendendo a ideia
O Selection Sort (ou algoritmo de ordenação por seleção) opera de maneira sistemática para ordenar um vetor. A sua lógica consiste em percorrer o vetor da primeira posição até a penúltima. Durante esse processo, o algoritmo seleciona o primeiro item encontrado e verifica se há algum elemento à sua direita com um valor menor.
Caso seja identificado um elemento com valor inferior, o algoritmo realiza a substituição entre esses dois elementos. Esse procedimento é repetido ao longo do vetor até que cada elemento seja considerado e posicionado conforme a ordem crescente ou decrescente, dependendo da implementação específica do algoritmo. Em resumo, o Selection Sort trabalha selecionando o menor (ou maior, dependendo da ordem desejada) elemento em cada iteração e trocando-o com o elemento na posição corrente, garantindo, assim, a progressiva ordenação do vetor.
🧑💻 Do conceito ao código
void selectionSort(int v[], int tam){
for (int i = 0; i < tam - 1; i++){
int menor = i;
for (int j = i + 1; j < tam; j++){
if (v[j] < v[menor]) menor = j;
}
if (i != menor) trocar(&v[i], &v[menor]);
}
}