Commit d924dc49 authored by Leonardo Krambeck's avatar Leonardo Krambeck

adiciona codigo e biblioteca base

parent d5cf5788
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include "lib_ordena.h"
#define MAX_IT 10000 /* isto pode ser ajustado */
/* Retorna tempo em milisegundos */
double timestamp(void)
{
struct timeval tp;
gettimeofday(&tp, NULL);
return((double)(tp.tv_sec*1000.0 + tp.tv_usec/1000.0));
}
int main () {
int v[MAX];
int i, tam;
double ini, fim, soma_tempo;
/* testes com vetores gerados randomicamente */
/* defina tam como voce achar melhor */
tam = 10;
gera_vetor_randomico (v,tam);
soma_tempo = 0;
for (i=0; i<MAX_IT; i++) {
ini = timestamp();
quicksort (v,0,tam-1); /* mede tempo so do quicksort */
fim = timestamp();
soma_tempo += (fim-ini);
embaralha_vetor (v,tam); /* nao conta o tempo de embaralhar */
}
printf("tempo medio do quicksort: %f\n", soma_tempo/MAX_IT);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "lib_ordena.h"
void imprime_vetor (int v[], int tam) {
int i;
for (i=0; i<tam-1; i++)
printf("%d ",v[i]);
printf("%d\n",v[tam-1]);
}
void troca (int v[], int i, int j) {
int aux;
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
void gera_vetor_em_ordem (int v[], int tam) {
int i;
for (i=0; i<tam; i++)
v[i] = i;
}
void gera_vetor_randomico (int v[], int tam) {
int i;
srand(time(0));
for (i=0; i<tam; i++)
v[i] = (unsigned int) (rand() % (tam*3)); /* pode modificar se quiser */
}
void embaralha_vetor (int v[], int tam) {
int k, i, j, max_trocas;
max_trocas = (unsigned int) (rand() % tam) + tam; /* pode modificar */
for (k=0; k<max_trocas; k++) {
i = (unsigned int) (rand() % tam);
j = (unsigned int) (rand() % tam);
troca (v,i,j);
}
}
void intercala (int v[], int ini, int meio, int fim) {
printf("implementar intercala\n");
}
int particiona (int v[], int ini, int fim) {
printf("implementar particiona\n");
}
void inserctionsort (int v[], int ini, int fim) {
printf("implementar insertionsort\n");
}
void quicksort (int v[], int ini, int fim) {
printf("implementar quicksort\n");
}
void mergesort (int v[], int ini, int fim) {
printf("implementar mergesort\n");
}
#define MAX 100000000
void gera_vetor_randomico (int v[], int tam);
void gera_vetor_em_ordem (int v[], int tam);
void embaralha_vetor (int v[], int tam);
void imprime_vetor (int v[], int tam);
void troca (int v[], int i, int j);
void intercala (int v[], int ini, int meio, int fim);
int particiona (int v[], int ini, int fim);
void insertionsort (int v[], int ini, int fim);
void quicksort (int v[], int ini, int fim);
void mergesort (int v[], int ini, int fim);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment