Buscar

ord quick sort randomico com contagem

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <stdio.h>
#include <windows.h>
#include <time.h>
#define n 10000
void quick (int vet[], int ini, int fim)
{
 int i,j,pivo,aux;
 i=ini;
 j=fim;
 pivo=vet[int((ini+fim)/2)];
 while (i<j)
 {
 while (vet[i]<pivo)
 {
 i++;
 }
 while (vet[j]>pivo)
 {
 j--;
 }
 if (i<=j)
 {
 aux=vet[i];
 vet[i]=vet[j];
 vet[j]=aux;
 i++;
 j--;
 }
 }
 if (j>ini)
 {
 quick(vet,ini,j);
 }
 if (i<fim)
 {
 quick(vet,i,fim);
 }
}
int main (void)
{
 int i,pos[n];
 double tempo;
 clock_t inicio, fim;
 for(i=0;i<n;i++)
 {
 pos[i]=rand()%1000;
 printf("%d ",pos[i]);
 }
 printf("\n\n");
 inicio=clock();
 quick(pos,0,(n-1));
 fim=clock();
 for(i=0;i<n;i++)
 {
 printf("%d ", pos[i]);
 }
 tempo=double(fim-inicio)/CLOCKS_PER_SEC;
 printf("\n\n");
 printf("Tempo gasto: %lf s \n", tempo);
 system("pause");
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando