Bubble Sort

Publicado por Felipe Pestana 31/10/2006

[ Hits: 18.199 ]

Homepage: https://www.sitic.com.br

Download bubble.c




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

Espero que seja útil.

[]'s

  



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");
}

Scripts recomendados

Gerar dados aleatórios no MySQL

Matador de conexões MYSQL que estão dormindo há muito tempo

Jogo da forca com banco de dados MySQL

Reservas em Teatro ou Cinema

Gerador de wordlist


  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts