Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Slackware 12.1
Por neutronbg
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Jordano R Reis em 26/12/2004    [ 3512 hits ]

Login: jordano, 382726 pontos

   


Descrição

Minha primeira implementacao do metodo de ordenacao da bolha...
Foi utilizada a funcao rand() (compilado no dev-c++)

[ Download: bubblesort.cpp ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
//using namespace std;

int levetor(int vet[],int tam)
{
for(int i=0; i<tam;i++)
    vet[i] = (1+rand()%tam);    
for(int i=0; i<tam; i++)
    cout << vet[i]<<" , ";
}

void bubblesort(int vet[],int tam)
{
    int tmp;
    for(int i=0; i<tam; i++)
        for(int j=0; j<tam; j++)
        {
        if(j != tam -1)
                if(vet[j] > vet[j+1])
                {
                tmp = vet[j];
                vet[j] = vet[j+1];
                vet[j+1] = tmp;
                }
        }
    for(int i=0; i<tam; i++)
        cout << vet[i]<<" , ";
}

void main(){

int tam;
char resp = 's';
while(resp == 's' || resp == 'S' )
    {
    system("cls");
    cout<<"Digite o Tamanho da colecao de dados:\n";
    cin>>tam;
    int vetor[tam];
    cout << "vetor nao ordenado:\n";
    levetor(vetor,tam);
    cout << "\nvetor ordenado:\n";
    bubblesort(vetor,tam);
    cout << "\n\n\nPretende fazer outra ordenacao?\t";
    cin >> resp;
    }
}

Scripts recomendados
   Script Linux recomendado Algoritmo do método de Newton
   Script Linux recomendado Pilha estática em C
   Script Linux recomendado RNA - PERCEPTRON
   Script Linux recomendado Lista encadeada
   Script Linux recomendado Métodos de Ordenação - Radix Sort

Comentários
[1] Comentário enviado por jllucca em 28/12/2004 - 19:01h:

oi,

cara eu entendo essa ser seu primeiro algoritmo. Mas, tem duas coisas que me incomodaram. Primeiro foi isso: "if(j != tam -1)". Esse SE é de rachar a cara, pois tem jeitos não tão bons que seguem essa ideia que evitam o uso desse if e tem jeito melhores que não precisam de dois for. Mas, enfim...

O segundo detalhe foi que ele foi feito em C++ - não, não é um problema - e o fato de podermos criarmos variaveis onde quisermos é muito, mas muito ruim na minha opinião. Por exemplo, quando voce criou o vetor é quase que imperceptivel pra quem esta lendo o codigo. Acho que adotar a atitude do C em criar variaveis somente no inicio de blocos é a mais correta e facilita e complica, pois em algumas vezes pode ficar pior. Por exemplo, no seu caso tu precisaria definir um ponteiro e aloca-lo com NEW ou malloc. Mas, como eu disse é detalhezinho e espero que encarre como uma critica construtiva.

[]'s


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.