Algoritmo de ordenação: Bubble Sort
Publicado por mfs (última atualização em 12/04/2010)
[ Hits: 41.871 ]
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); 
  
}
Minha primeira biblioteca em C
Equação do segundo grau em C++
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Secure boot, artigo interessante, nada técnico. (4)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (14)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









