Ordenação por Seleção

De Wiki DAINF
(Diferença entre revisões)
Linha 1: Linha 1:
 +
== Descrição ==
 
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.  
 
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.  
  
Linha 5: Linha 6:
  
  
Implementação em C :
+
== Implementação em C : ==
  
 
<pre>
 
<pre>
Linha 22: Linha 23:
  
  
Referências:
+
== Referências: ==
 
*  FEOFILOFF, Paulo. Projeto de Algoritmos. Disponível em: <http://
 
*  FEOFILOFF, Paulo. Projeto de Algoritmos. Disponível em: <http://
 
www.ime.usp.br/~pf/algoritmos/index.html>. Acesso em: 28 nov. 2008
 
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.
 
*  <http://pucrs.campus2.br/~annes/alg3_ord_sel> Acesso em 2 de dezembro de 2008.

Edição de 14h51min de 2 de dezembro de 2008

Descrição

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.



Implementação 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

Ferramentas pessoais