Este script em C organiza sequências de números de forma crescente ou decrescente.
Finalmente comecei a me divertir escrevendo códigos-fonte interessantes. A sequência pode ter quantos elementos o usuário quiser para o mesmo código-fonte, estando limitado apenas pelo computador. São 48 linhas que usam "for, do...while, vetores, etc".
[3] Comentário enviado por vinipsmaker em 26/05/2009 - 09:40h
O método bolha tem verificações a mais e desde o começo eu tinha pensado nisso. Eu li a apostila, então o autor da apostila iria começar a mostrar o código-fonte, então eu fechei a apostila e tentei eu mesmo. Depois eu vi que a minha implementação era superior, pois no código-fonte do autor da apostila, era preciso um código-fonte diferente para sequência com o número de elementos diferente.
De qualquer forma, obrigado por me indicar estes métodos, mas o quicksort também não é muito bom.
[5] Comentário enviado por DanielGimenes em 27/05/2009 - 08:01h
Vinicius,
O quicksort e o mergesort são bons sim! E são muito utilizados. A própria STL usa. O quick, apesar de ter O(n^2), na média executa em O(nlogn), sendo um bom desempenho. Este é considerado o melhor algoritmo geral de ordenação. E o merge é bastante usado pois é estável (não tira da ordem valores iguais) e ideal para implementações com lista ligada, pois gasta muito menos memória e processamento do que, por exemplo, o quicksort e o heapsort nas mesmas condições. (Bibliografia: Introduction to Algorithms, CLRS; Wikipédia; e conhecimentos)
Existem outros interessantes também. Chamo a atenção para o radixsort que você mencionou e o bucketsort. Estes são muuuuito rápidos, mas não podem ser usados em qualquer problema, pois dependem de que você possa assumir certos atributos sobre os dados.