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]);        
    }
}

🎬 Vídeo complementar