[3] Comentário enviado por nukelinux em 07/05/2008 - 14:01h
há um erro no código...
os loops 'for' aninhados não funcionam corretamente
para que isso ocorra, basta remover o sinal de igual do controle interno de ambas as estruturas, ou seja, troque isto:
[5] Comentário enviado por elgio em 07/05/2008 - 14:50h
Buble sort é lento e sua complexidade é sempre (n-1)*(n-1), mesmo para um vetor já ordenado. Tem uma otimização fácil para o Buble sort que faz com que a complexidade seja NO MÁXIMO (n-1)*(n-1) para um vertor totalmente desordenado, mas deixa em apenas n-1 para um já ordenado. Coloco como função (pois é MUITO mais prático):
/* Ignore os TRACOS. Eh uma tentativa de manter a identacao aqui no VOL */
int ordenaBSOtimo (int v[], int t)
{
_ _ char troca;
_ _ int i, temp;
[6] Comentário enviado por rafaelhenrique em 07/05/2008 - 18:33h
Sobre as críticas:
"Buble sort é lento e sua complexidade é sempre (n-1)*(n-1)"
Sim elgio, concordo plenamente, até mesmo Knuth (pai dos algoritmos de Estruturas de Dados) deve concordar com isso, porém apenas coloquei este algoritmo ineficiente, para demonstrar as pessoas iniciantes como fazer uma ordenação básica, com certeza eu usaria o Quicksort se fosse para prática.
"Coloco como função (pois é MUITO mais prático)"
Concordo que uma função pode ser mais prático, mas torno a dizer, queroa ajudar os iniciantes, muitos não sabem usar funções ainda.
[9] Comentário enviado por rafaelhenrique em 07/05/2008 - 20:34h
Sim é um erro de lógica mas visualmente é imperceptível (quando se roda), ainda mais levando em consideração a complexidade do código que é 0 complexo, por isso falei que não é bem um erro, mas você está certo elgio