Bubble Sort

Publicado por Felipe Pestana 31/10/2006

[ Hits: 18.030 ]

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

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

Aplicativos

Usando MySQL na linguagem C - Exemplo 1

Usando MySQL na linguagem C - Exemplo 4

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


  

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