Visitantes


Contador
Contador
Tire suas dúvidas nos links abaixo!
Obs: A estrutura do blog não permite colocar a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente

sábado, 30 de outubro de 2010

Ordenação bolha.

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.


Chamado de Demônio das trocas no livro “C completo e total” da editora MAKRON BOOKS LTDA, o método de ordenação bolha é o mais comum de todas as formas de ordenar, isso por ser fácil de implementar, porém é sem duvida a forma de ordenar mais criticada, já que trabalha fazendo varias comparações e quando necessário faz a troca de posições entre dois elementos adjacentes.

Agora que já sabemos um pouco sobre o método bolha vamos colocar em ordem crescente o seguinte vetor:

Vet [6] ={15, 18, 17, 10, 16, 12}

Para essa ordenação devemos sempre comparar dois elementos da esquerda para a direita e se preciso trocá-los de posição até que todos os números estejam em ordem crescente.

Veja agora na linguagem c como ficaria um algoritmo para ordenar esse vetor.

#include
#include

int main(int argc, char *argv[])
{
int aux, i, j; // declaração de uma variável auxiliar e dois contadores.

int vet[6]={15,18,17,10,16,12}; // Declaração do vetor já inicializado.

for(i=0; i<6; i++){ // As dois comandos for são úteis para percorrer o vetor e colocar os indices no vetor

for(j=0; j<6; j++){ // na hora de comparar, os dois devem contar até o numero de elementos do vetor

if(vet[i] < vet[j]) { // Esse if é responsável por comparar os elementos do vetor e troca-los de posição quando necessário.
aux=vet[i]; // Comando que atribui vet na posição i na variável aux.

vet[i]=vet[j]; // Aqui atribuímos vet na posição j no vet com indice i.

vet[j]=aux;} // Agora atribuímos o valor da variável aux em vet na posição j.
}
}

for(i=0;i<6;i++) // Aqui temos uma estrutura de repetição for que irá imprimir o vetor.

{

printf("%d ",vet[i]);
}

system("PAUSE");

return 0;

}

Um comentário: