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



» Screenshot
Linux: Metasys Classmate
Por Gedimar
» Login
Login:
Senha:

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

Esqueci minha senha



Scripts

Linux user

Publicado por Fabio Curtis Volpe em 09/04/2005    [ 11851 hits ]

Login: FVolpe, 67643 pontos

   


Descrição

A quicksort é superior a todas as outras ordenações, e geralmente é considerada o melhor algoritmo de ordenação. É baseada por ordenação por trocas.

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

[ Esconder código-fonte ]

/***************************************************
*   Fabio Curtis Volpe                                            *
*   curtis_volpe@yahoo.com.br                                 *
***************************************************/

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <stdio.h>
#include <stdlib.h>

#include <stdio.h>
#include <stdlib.h>

#define MAX 10

int v[MAX];

int main()
{
int i;
  
for(i=0; i<MAX; i++)
{
   v[i]=rand();
}
for(i=0; i<MAX; i++)
    printf("%d\n",v[i]);
    
qs(v, 0, MAX-1);

printf("\nVetor Ordenado - QuickSort\n\n");

for(i=0;i<MAX;i++)
    printf("%d\n", v[i]);
}

void qs(int *v, int left, int right)
{
  int i, j;
  int x, y;
  
  i=left; j=right;
  x=v[(left+right)/2];
  
  do {
    while(v[i]<x && i<right) i++;
    while(x<v[j] && j>left) j--;
    
    if(i<=j) {
      y=v[i];
      v[i]=v[j];
      v[j]=y;
      i++; j--;
     }
    }while(i<=j);
    
    if(left<j) qs(v, left, j);
    if(i<right) qs(v, i, right);
        
}

Scripts recomendados
   Script Linux recomendado Algoritmo da Bisseção
   Script Linux recomendado Introdução a Recursão
   Script Linux recomendado Aritmética de ponteiros
   Script Linux recomendado Lista encadeada
   Script Linux recomendado Lista Duplamente

Comentários
[1] Comentário enviado por marangon em 12/11/2007 - 20:10h:

Excelente, código funcional e muito fácil de entender!


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.