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



» Screenshot
Linux: Wolverine X Sabretooth
Por jlojunior
» Login
Login:
Senha:

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

Esqueci minha senha



Scripts

Linux user

Publicado por Vinícius dos Santos Oliveira em 23/05/2009    [ 5607 hits ]

Login: vinipsmaker, 300316 pontos

Homepage: http://vinipsmaker.wordpress.com/   


Descrição

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".

[ Download: ordenar_cadeia.c ]   [ Enviar nova versão ]

Scripts recomendados
   Script Linux recomendado Manipulação de um vetor de registros
   Script Linux recomendado Arvores AVL - Completo
   Script Linux recomendado Calculando o número de Neper !
   Script Linux recomendado Rotina para controle de portas paralelas em C. (biblioteca LP.h)
   Script Linux recomendado Joguinho de labirinto usando as setas do teclado

Comentários
[1] Comentário enviado por vinipsmaker em 23/05/2009 - 09:26h:

Para quem quiser substituir o do...while por while terá de mudar o valor inicial da variável j para 0.

[2] Comentário enviado por danielgimenes em 26/05/2009 - 08:00h:

Nossa velho...

esse código é muito lento para um 'n' grande.

Caso tenha interesse, procure os algoritmos Quicksort e Mergesort para estudar. São muito bacanas e têm um desempenho muito melhor.

;)

De qualquer forma, parabêns pela iniciativa e bom estudo!

[[]]'s
Daniel

[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.

[4] Comentário enviado por vinipsmaker em 26/05/2009 - 10:19h:

Pesquisei mais algoritmos e achei os algoritmos selectionsort, radixsort e gnomesort interessantes.

[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.




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.