Bublbubblesort
Minha primeira implementacao do metodo de ordenacao da bolha...
Foi utilizada a funcao rand() (compilado no dev-c++)
Foi utilizada a funcao rand() (compilado no dev-c++)
Descrição
Minha primeira implementacao do metodo de ordenacao da bolha...
Foi utilizada a funcao rand() (compilado no dev-c++)
Foi utilizada a funcao rand() (compilado no dev-c++)
#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;
}
}
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