Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "func.h"
- int main()
- {
- semente();
- int i, x;
- x = Solicita();
- int* decrescente, *desordenado, *quase;
- int* decrescente1, *desordenado1, *quase1;
- int* decrescente2, *desordenado2, *quase2;
- int* decrescente3, *desordenado3, *quase3;
- int* decrescente4, *desordenado4, *quase4;
- int* decrescente5, *desordenado5, *quase5;
- decrescente = (int*)malloc(x*sizeof(int*));
- decrescente1 = (int*)malloc(x*sizeof(int*));
- decrescente2 = (int*)malloc(x*sizeof(int*));
- decrescente3 = (int*)malloc(x*sizeof(int*));
- decrescente4 = (int*)malloc(x*sizeof(int*));
- decrescente5 = (int*)malloc(x*sizeof(int*));
- desordenado = (int*)malloc(x*sizeof(int*));
- desordenado1 = (int*)malloc(x*sizeof(int*));
- desordenado2 = (int*)malloc(x*sizeof(int*));
- desordenado3 = (int*)malloc(x*sizeof(int*));
- desordenado4 = (int*)malloc(x*sizeof(int*));
- desordenado5 = (int*)malloc(x*sizeof(int*));
- quase = (int*)malloc(x*sizeof(int*));
- quase1 = (int*)malloc(x*sizeof(int*));
- quase2 = (int*)malloc(x*sizeof(int*));
- quase3 = (int*)malloc(x*sizeof(int*));
- quase4 = (int*)malloc(x*sizeof(int*));
- quase5 = (int*)malloc(x*sizeof(int*));
- //vetor desordenado
- for(i=0; i<x; i++){
- desordenado[i] = abs(rand()*rand());
- desordenado1[i] = desordenado[i];
- desordenado2[i] = desordenado[i];
- desordenado3[i] = desordenado[i];
- desordenado4[i] = desordenado[i];
- desordenado5[i] = desordenado[i];
- }
- //vetor quase ordenado
- decrescente[x-(x+1)] = x*10000;
- for(i = 0; i < x; i++){
- decrescente[i] = decrescente[i - 1] - 5572;
- decrescente1[i] = decrescente[i];
- decrescente2[i] = decrescente[i];
- decrescente3[i] = decrescente[i];
- decrescente4[i] = decrescente[i];
- decrescente5[i] = decrescente[i];
- }
- //vetor ordenado
- int aux = 0;
- quase[x-(x+1)] = x-x;
- i= 0;
- while(i < x){
- int j;
- j=0;
- while(j<10){
- quase[i] = aux + 5;
- quase1[i] = aux + 5;
- quase2[i] = aux + 5;
- quase3[i] = aux + 5;
- quase4[i] = aux + 5;
- quase5[i] = aux + 5;
- aux =aux + 25;
- j++;
- i++;
- }
- j = 0;
- while(j<10){
- quase[i] = rand()*rand();
- quase1[i] = quase[i];
- quase2[i] = quase[i];
- quase3[i] = quase[i];
- quase4[i] = quase[i];
- quase5[i] = quase[i];
- i++;
- j++;
- }
- }
- //quicksort
- clock_t tempo;
- tempo = clock();
- quickSortIterative(quase, 0, x);
- tempo = clock() - tempo;
- clock_t tempo1;
- tempo1 = clock();
- quickSortIterative(desordenado, 0, x);
- tempo1 = clock() - tempo1;
- clock_t tempo2;
- tempo2 = clock();
- quickSortIterative(decrescente, 0, x);
- tempo2 = clock() - tempo2;
- //Shellsort
- clock_t tempo3;
- tempo3 = clock();
- shellsort(quase1,x);
- tempo3 = clock() - tempo3;
- clock_t tempo4;
- tempo4 = clock();
- shellsort(desordenado1,x);
- tempo4 = clock() - tempo4;
- clock_t tempo5;
- tempo5 = clock();
- shellsort(decrescente1,x);
- tempo5 = clock() - tempo5;
- //heapsort
- clock_t tempo6;
- tempo6 = clock();
- heapsort(quase2,x);
- tempo6 = clock() - tempo6;
- clock_t tempo7;
- tempo7 = clock();
- heapsort(desordenado2,x);
- tempo7 = clock() - tempo7;
- clock_t tempo8;
- tempo8 = clock();
- heapsort(decrescente2,x);
- tempo8 = clock() - tempo8;
- //insercao
- clock_t tempo9;
- tempo9 = clock();
- insercao(quase3,x);
- tempo9 = clock() - tempo9;
- clock_t tempo10;
- tempo10 = clock();
- insercao(desordenado3,x);
- tempo10 = clock() - tempo10;
- clock_t tempo11;
- tempo11 = clock();
- insercao(decrescente3,x);
- tempo11 = clock() - tempo11;
- //selecao
- clock_t tempo12;
- tempo12 = clock();
- selecao(quase4,x);
- tempo12 = clock() - tempo12;
- clock_t tempo13;
- tempo13 = clock();
- selecao(desordenado4,x);
- tempo13 = clock() - tempo13;
- clock_t tempo14;
- tempo14 = clock();
- selecao(decrescente4,x);
- tempo14 = clock() - tempo14;
- //combo_sort
- clock_t tempo15;
- tempo15 = clock();
- combo_sort(quase5,x);
- tempo15 = clock() - tempo15;
- clock_t tempo16;
- tempo16 = clock();
- combo_sort(desordenado5,x);
- tempo16 = clock() - tempo16;
- clock_t tempo17;
- tempo17 = clock();
- combo_sort(decrescente5,x);
- tempo17 = clock() - tempo17;
- printf(" ______________________________________________________________\n");
- printf("|Tamanho dos conjuntos %d |\n",x);
- printf("|______________________________________________________________|\n");
- printf("| | Tempos obtidos pelos algoritimos |\n");
- printf("|____________|_________________________________________________|\n");
- printf("|Algoritimo | Quase ordenado | Desordenado | Ordem Decrescente |\n");
- printf("|____________|________________|_____________|_________________ |\n");
- printf("|Quicksort | %f | %f | %f |\n",tempo/ (double)CLOCKS_PER_SEC, tempo1/ (double)CLOCKS_PER_SEC,tempo2/ (double)CLOCKS_PER_SEC);
- printf("|____________|________________|_____________|__________________|\n");
- printf("|shellsort | %f | %f | %f |\n",tempo3/ (double)CLOCKS_PER_SEC, tempo4/ (double)CLOCKS_PER_SEC,tempo5/ (double)CLOCKS_PER_SEC);
- printf("|____________|________________|_____________|__________________|\n");
- printf("|HeapSort | %f | %f | %f |\n",tempo6/ (double)CLOCKS_PER_SEC, tempo7/ (double)CLOCKS_PER_SEC,tempo8/ (double)CLOCKS_PER_SEC);
- printf("|____________|________________|_____________|__________________|\n");
- printf("|insercao | %f | %f | %f |\n",tempo9/ (double)CLOCKS_PER_SEC, tempo10/ (double)CLOCKS_PER_SEC,tempo11/ (double)CLOCKS_PER_SEC);
- printf("|____________|________________|_____________|__________________|\n");
- printf("|selecao | %f | %f | %f |\n",tempo12/ (double)CLOCKS_PER_SEC, tempo13/ (double)CLOCKS_PER_SEC,tempo14/ (double)CLOCKS_PER_SEC);
- printf("|____________|________________|_____________|__________________|\n");
- printf("|combo_sort | %f | %f | %f |\n",tempo15/ (double)CLOCKS_PER_SEC, tempo16/ (double)CLOCKS_PER_SEC,tempo17/ (double)CLOCKS_PER_SEC);
- printf("|____________|________________|_____________|__________________|\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement