Pular para o conteúdo

Bubble Sort

Uma das maneiras de organizar os dados. Não é muito recomendado quando a quantidade de dados é muito grande!

Espero que seja útil.

[]'s
Felipe Pestana pes
Hits: 18.536 Categoria: C/C++ Subcategoria: Banco de dados
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Uma das maneiras de organizar os dados. Não é muito recomendado quando a quantidade de dados é muito grande!

Espero que seja útil.

[]'s
Download bubble.c Enviar nova versão

Esconder código-fonte

#include<stdio.h>
int main()
{
   // Definição de variaveis usadas no programa
   int i, j, aux, trocas, tamanho=10;
   int vetor[tamanho];

   // Preenchimento e escrita do vetor com numeros aleatorios
   srand(time(0));
   printf("\nVetor original\n");
   for(i=0;i<10;i++)
      { vetor[i]=rand()%1000;
      printf("Elemento %2d: %3d \n",i+1,vetor[i]);}
   
   // Inicializa a variavel trocas
   trocas = 0;

   // Ordenação do vetor na técnica BubbleSort
   for(i=0;i<=8;i++)
      {
      for(j=i+1;j<=9;j++)
         {
         if(vetor[j]<vetor[i])
            {
            aux = vetor[i];
            vetor[i] = vetor[j];
            vetor[j] = aux;
            trocas++;
            }
         }
      }
   
   // Mostra vetor ordenado
   printf("\nVetor ordenado\n");
   for(i=0;i<tamanho;i++) printf("Elemento %2d: %3d \n",i+1,vetor[i]);
   printf("\n Foram Realizadas %d Trocas.\n", trocas);
    system("pause");
}

FAQ - SISTEM

Programa em C++ sistema de dados de produtos e equipamentos de informatica

Agenda eletrônica em C + SQL

C++ Banco de Dados

Usando MySQL na linguagem C - Exemplo 5

#1 Comentário enviado por delucca em 01/11/2006 - 10:25h
Felipe,
é importante conhecer o BubbleSort justamente para não utilizá-lo!!! :-)
Ele é reconhecidamente o PIOR método de ordenação.
Só é bom (aí ele é imbatível) se os dados já estiverem ordenados! :-) Sério!

Mas, como eu disse, é importante conhecer todos os métodos e a tua implementação é clássica.
#2 Comentário enviado por francodof em 02/11/2006 - 02:12h
Olá, Felipe. Olhando seu código, deparei-me com essas duas linhas - marcadas abaixo por (*). O que o srand(time(0)) e o rand()%1000 fazem?


(*) srand(time(0));
printf("\nVetor original\n");
for(i=0;i<10;i++)
(*) { vetor[i]=rand()%1000;

Grato.
#3 Comentário enviado por pes em 09/11/2006 - 07:18h
Delucca - Com certeza esse Bubble é uma !@#$%¨, mas é interessante saber o que não se deve fazer né? hehehehe!!
Vlw pelo comentário.

Francodof - srand(time(0)) ele, nada mais é, do que a função que zera o clock da contagem de milissegundos, por questões de comparação com os outros métodos de ordenação. O rand()%1000, é a função que gera números aleatório de 0 a 1000, e joga dentro das posições do vetor. Simples né?! Vlw pelo comentário.

[]'s pessoal.
#4 Comentário enviado por francodof em 09/11/2006 - 11:44h
Bem interessante. Grato pela resposta.

Contribuir com comentário

Entre na sua conta para comentar.