Algoritmos de Ordenação #2 – Seleção Direta

Padrão


Continuando com os algoritmos de ordenação, temos uma implementação em C do algoritmo de ordenação chamado Seleção Direta (ou Selection Sort). Esse algoritmo baseia-se em passar sempre o menor valor do vetor para a primeira posição (ou o maior dependendo da ordem requerida), depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente com os (n-1) elementos restantes, até os últimos dois elementos.

Segue, então, a minha implementação deste algoritmo em C:

void selecaoDireta(int *vetor, int tamanho)
{
   int i, j, menor, aux;

   for(i = 0; i < tamanho - 1; ++i)
   {
      menor = i;
      for(j = i + 1; j < tamanho; ++j)
      {
         if(vetor[j] < vetor[menor])
            menor = j;
      }
      aux = vetor[i];
      vetor[i] = vetor[menor];
      vetor[menor] = aux;
   }
}


Um comentário sobre “Algoritmos de Ordenação #2 – Seleção Direta

Deixe uma resposta