Ordenação quicksort

Publicado por david sousa mota (última atualização em 20/10/2010)

[ Hits: 13.204 ]

Download problema5.c




Lista aleatória e método de ordenação quicksort na forma decrescente.

  



Esconder código-fonte

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

int aleatorio(int **p,int quantidade);
void quick_sort(int lista[],int tamanho);
void quick(int lista[],int esquerdo,int direito);

int main(){
  int lista[10];
    int *p;
    int contador;
    p = lista;
    aleatorio(&p,10);
     for(contador=0;contador<10;contador++){
        printf("%i\n",lista[contador]);
    }
  printf("\n\n");
        quick_sort(lista,10);
  for(contador=0;contador<10;contador++){
        printf("%i\n",lista[contador]);
    }
system("pause");    
return 0;
}
int aleatorio(int **p, int quantidade){
 
     struct tm *ptr;
     time_t lt;
     lt = time(NULL);
     ptr = gmtime(<);
     int conta;
     int b=10;
     for(conta=0;conta<=quantidade;conta++){
        if(conta%2 != 0){
         *p = ((int *)(ptr->tm_sec)) + b*quantidade*conta;
          p++;
          b+=10;
         }else
         {
         *p = ((int *)(ptr->tm_sec)) + b*quantidade*2*conta;
           p++;
         b+=-5;
         }
    }

}
void quick_sort(int lista[],int tamanho)
{   
    quick(lista,0,tamanho-1);
}
void quick(int lista[],int esquerdo,int direito)
{     
  register int i,j;
       int x,y;
       i = esquerdo; 
       j = direito;
       x = lista[(esquerdo+direito)/2];
       do{
           while(lista[i]>x && i<direito) i++;
           while(x>lista[j] && j>esquerdo) j--;
           if(i<=j){
              y = lista[i];
              lista[i] = lista[j];
              lista[j] = y;
              i++; 
              j--;
                       }
              }while(i<=j);
              if(esquerdo<j) quick(lista,esquerdo,j);
              if(i<direito) quick(lista,i,direito);     
}

Scripts recomendados

hanoi

Driver tgz

asdfa

POGRAMA EM C REGISTRO DE CADASTRO ALTERAR E REMOVER CLIENTES PRODUTOS

Biblioteca estática para manipulação de pilhas


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts