Algoritmo de ordenação: Bubble Sort
Publicado por mfs (última atualização em 12/04/2010)
[ Hits: 41.666 ]
Este algoritmo ordena um vetor de uma quantidade de números pré-determinada. O diferencial é que ele não utiliza ponteiros para a passagem de parâmetros, pois ponteiros é um pouco complicado para iniciantes.
A utilização é simples, digite o número máximo de algarismos e depois digite os algarismos fora de ordem, a função vai ordena-los e imprimi-los em ordem.
Para compilar com o gcc é simples:
$ gcc -c bubble_sort.c
$ gcc -o bubble_sort bubble_sort.o
$ ./bubble_sort
Qualquer dúvida em relação ao código e só deixar um comentário que eu explico.
Abraços.
/* Algoritmo de ordenação Bubble Sort */ #include <stdio.h> /* Definição da função bubble_sort */ void bubble_sort (int vet[], int max) { int flag, i, aux; do { flag = 0; for (i = 0; i < (max - 1); i++) { /* Verfica se o vetor está em ordem, no caso ele coloca em ordem crescente, para decrescente trocar '>' por '<' */ if (vet[i] > vet[i+1]) { /* Caso não esteja, ordena */ aux = vet[i]; vet[i] = vet[i+1]; vet[i+1] = aux; flag =1; } } /* Repete enquanto algum valor estiver fora de ordem */ } while (flag == 1); /* Imprime o vetor ordenado em ordem crescente */ for (i = 0; i < max; i++) { printf ("%d ",vet[i]); } printf ("\n"); } main () { int max, i; /* Lê o total de números do vetor */ scanf ("%d", &max); /* Define o vetor com o número max de algarismos */ int vetor[max]; for (i = 0; i < max; i++) { /* Lê cada indice do vetor */ scanf ("%d",&vetor[i]); } /* Dentro dessa função o vetor será ordenado */ bubble_sort (vetor, max); }
Parte 6 (Ordenando Strings) - sessão de estudo sobre MATRIZES.
funcarg.c - Função com argumento
Número Quadrado perfeito e capicúa
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Criar perfil temporário no Active Directory samba4-21 (2)
Meu Kubuntu não inicia, além do modo de recuperação (no meu dualboot (1)
Site da gontijo simplesmente não abre, ERR_HTTP2_PRO... (3)