Ordenação por Seleção
De Wiki DAINF
(Diferença entre revisões)
Linha 7: | Linha 7: | ||
Código em C : | Código em C : | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
void ordena (int n, int v[]){ | void ordena (int n, int v[]){ | ||
int i, j, min, x; | int i, j, min, x; |
Edição de 15h47min de 2 de dezembro de 2008
Um método simples de ordenação é o método da seleção direta ou selection sort. Esse método pega um vetor e procura o seu menor elemento, assim que o esse elemento é encontrado ele é permutado com o primeiro elemento. Depois ele procura o menor elemento no subvetor que começa com o segundo elemento do vetor e permuta com o segundo elemento. O método faz isso até que o subvetor tenha somente 1 elemento, nesse caso o vetor já está ordenado.
Código em C :
void ordena (int n, int v[]){
int i, j, min, x; for (i = 0; i < n-1; ++i) { min = i; for (j = i+1; j < n; ++j) if (v[j] < v[min]) min = j; x = v[i]; v[i] = v[min]; v[min] = x; }
}
Referências:
- FEOFILOFF, Paulo. Projeto de Algoritmos. Disponível em: <http://
www.ime.usp.br/~pf/algoritmos/index.html>. Acesso em: 28 nov. 2008
- <http://pucrs.campus2.br/~annes/alg3_ord_sel> Acesso em 2 de dezembro de 2008.