Programar em C/Algoritmos de ordenação: diferenças entre revisões

[edição verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 32:
 
=Selection sort=
void selectionSort( int vetorDesordenado[], int tamanhoVetor ) //Funçao selection recebendo vetor e tamanho
{
int i, j, posicaoValorMinimo;
 
for (i = 0; i < ( tamanhoVetor - 1 ); i++) //Loop para percorrer o vetor
{
posicaoValorMinimo = i; //O valor minimo de posiçao do vetor a ser percorrido e 0
for (j = ( i + 1 ); j < tamanhoVetor; j++)//Percorreremos o vetor da posiçao 1 ate o tamanho estimado
{
if( vetorDesordenado[j] < vetorDesordenado[posicaoValorMinimo] ) //Se a posiçao que vamos verificar for menos que a posiçao que temos em maos
{
posicaoValorMinimo = j;//A variavel 'j' recebe esse valor
}
}
if ( i != posicaoValorMinimo )
{
trocarPosicaoValores( &vetorDesordenado[i], &vetorDesordenado[posicaoValorMinimo] );//vamos chamar uma outra funçao para trocar as posiçoes de lugares
}
}
}
 
void trocarPosicaoValores( int *posicaoA, int *posicaoB )//Funçao para trocar as posiçoes que estamos olhando
{
int temporario;
temporario = *posicaoA;
*posicaoA = *posicaoB;
*posicaoB = temporario;
}
 
=Bubble sort =