Baixe o app para aproveitar ainda mais
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"); }
Compartilhar