Selection Sort
O algoritmo selection sort consiste em percorrer todo o vetor para definir a posição atual para o menor valor. Para fazer isso, é feito a comparação do elemento na posição atual com cada valor subsequente.
Implementação:
void selection_sort(int v[], int n) {
// para cada posição do vetor (1º loop)
for (int i = 0; i < n - 1; ++i) {
// salvar o índice com menor valor, que começa pelo índice atual de cada iteração do 1º percurso
int min = i;
// percorrer cada uma das próximas posições do vetor (2º loop)
for (int j = i; j < n - 1; ++j) {
// se o elemento deste segundo percurso for menor que o mínimo, atualizar o índice que contém o menor valor.
if (v[j] < v[min]) {
min = j;
}
}
// trocar os elementos entre a posição do 1º loop e o índice mínimo
if (min != i) {
trocar(v, i, min);
}
}
}