Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.61 KB | None | 0 0
  1. #include "func.h"
  2.  
  3. int main()
  4. {
  5. semente();
  6. int i, x;
  7. x = Solicita();
  8. int* decrescente, *desordenado, *quase;
  9. int* decrescente1, *desordenado1, *quase1;
  10. int* decrescente2, *desordenado2, *quase2;
  11. int* decrescente3, *desordenado3, *quase3;
  12. int* decrescente4, *desordenado4, *quase4;
  13. int* decrescente5, *desordenado5, *quase5;
  14.  
  15. decrescente = (int*)malloc(x*sizeof(int*));
  16. decrescente1 = (int*)malloc(x*sizeof(int*));
  17. decrescente2 = (int*)malloc(x*sizeof(int*));
  18. decrescente3 = (int*)malloc(x*sizeof(int*));
  19. decrescente4 = (int*)malloc(x*sizeof(int*));
  20. decrescente5 = (int*)malloc(x*sizeof(int*));
  21.  
  22. desordenado = (int*)malloc(x*sizeof(int*));
  23. desordenado1 = (int*)malloc(x*sizeof(int*));
  24. desordenado2 = (int*)malloc(x*sizeof(int*));
  25. desordenado3 = (int*)malloc(x*sizeof(int*));
  26. desordenado4 = (int*)malloc(x*sizeof(int*));
  27. desordenado5 = (int*)malloc(x*sizeof(int*));
  28.  
  29. quase = (int*)malloc(x*sizeof(int*));
  30. quase1 = (int*)malloc(x*sizeof(int*));
  31. quase2 = (int*)malloc(x*sizeof(int*));
  32. quase3 = (int*)malloc(x*sizeof(int*));
  33. quase4 = (int*)malloc(x*sizeof(int*));
  34. quase5 = (int*)malloc(x*sizeof(int*));
  35.  
  36. //vetor desordenado
  37. for(i=0; i<x; i++){
  38. desordenado[i] = abs(rand()*rand());
  39. desordenado1[i] = desordenado[i];
  40. desordenado2[i] = desordenado[i];
  41. desordenado3[i] = desordenado[i];
  42. desordenado4[i] = desordenado[i];
  43. desordenado5[i] = desordenado[i];
  44. }
  45.  
  46. //vetor quase ordenado
  47. decrescente[x-(x+1)] = x*10000;
  48. for(i = 0; i < x; i++){
  49. decrescente[i] = decrescente[i - 1] - 5572;
  50. decrescente1[i] = decrescente[i];
  51. decrescente2[i] = decrescente[i];
  52. decrescente3[i] = decrescente[i];
  53. decrescente4[i] = decrescente[i];
  54. decrescente5[i] = decrescente[i];
  55. }
  56.  
  57. //vetor ordenado
  58. int aux = 0;
  59. quase[x-(x+1)] = x-x;
  60. i= 0;
  61. while(i < x){
  62. int j;
  63. j=0;
  64. while(j<10){
  65. quase[i] = aux + 5;
  66. quase1[i] = aux + 5;
  67. quase2[i] = aux + 5;
  68. quase3[i] = aux + 5;
  69. quase4[i] = aux + 5;
  70. quase5[i] = aux + 5;
  71. aux =aux + 25;
  72. j++;
  73. i++;
  74. }
  75. j = 0;
  76. while(j<10){
  77. quase[i] = rand()*rand();
  78. quase1[i] = quase[i];
  79. quase2[i] = quase[i];
  80. quase3[i] = quase[i];
  81. quase4[i] = quase[i];
  82. quase5[i] = quase[i];
  83. i++;
  84. j++;
  85. }
  86. }
  87.  
  88.  
  89. //quicksort
  90. clock_t tempo;
  91. tempo = clock();
  92. quickSortIterative(quase, 0, x);
  93. tempo = clock() - tempo;
  94.  
  95. clock_t tempo1;
  96. tempo1 = clock();
  97. quickSortIterative(desordenado, 0, x);
  98. tempo1 = clock() - tempo1;
  99.  
  100. clock_t tempo2;
  101. tempo2 = clock();
  102. quickSortIterative(decrescente, 0, x);
  103. tempo2 = clock() - tempo2;
  104.  
  105. //Shellsort
  106. clock_t tempo3;
  107. tempo3 = clock();
  108. shellsort(quase1,x);
  109. tempo3 = clock() - tempo3;
  110.  
  111. clock_t tempo4;
  112. tempo4 = clock();
  113. shellsort(desordenado1,x);
  114. tempo4 = clock() - tempo4;
  115.  
  116. clock_t tempo5;
  117. tempo5 = clock();
  118. shellsort(decrescente1,x);
  119. tempo5 = clock() - tempo5;
  120.  
  121. //heapsort
  122. clock_t tempo6;
  123. tempo6 = clock();
  124. heapsort(quase2,x);
  125. tempo6 = clock() - tempo6;
  126.  
  127. clock_t tempo7;
  128. tempo7 = clock();
  129. heapsort(desordenado2,x);
  130. tempo7 = clock() - tempo7;
  131.  
  132. clock_t tempo8;
  133. tempo8 = clock();
  134. heapsort(decrescente2,x);
  135. tempo8 = clock() - tempo8;
  136.  
  137. //insercao
  138. clock_t tempo9;
  139. tempo9 = clock();
  140. insercao(quase3,x);
  141. tempo9 = clock() - tempo9;
  142.  
  143. clock_t tempo10;
  144. tempo10 = clock();
  145. insercao(desordenado3,x);
  146. tempo10 = clock() - tempo10;
  147.  
  148. clock_t tempo11;
  149. tempo11 = clock();
  150. insercao(decrescente3,x);
  151. tempo11 = clock() - tempo11;
  152.  
  153. //selecao
  154. clock_t tempo12;
  155. tempo12 = clock();
  156. selecao(quase4,x);
  157. tempo12 = clock() - tempo12;
  158.  
  159. clock_t tempo13;
  160. tempo13 = clock();
  161. selecao(desordenado4,x);
  162. tempo13 = clock() - tempo13;
  163.  
  164. clock_t tempo14;
  165. tempo14 = clock();
  166. selecao(decrescente4,x);
  167. tempo14 = clock() - tempo14;
  168.  
  169. //combo_sort
  170. clock_t tempo15;
  171. tempo15 = clock();
  172. combo_sort(quase5,x);
  173. tempo15 = clock() - tempo15;
  174.  
  175. clock_t tempo16;
  176. tempo16 = clock();
  177. combo_sort(desordenado5,x);
  178. tempo16 = clock() - tempo16;
  179.  
  180. clock_t tempo17;
  181. tempo17 = clock();
  182. combo_sort(decrescente5,x);
  183. tempo17 = clock() - tempo17;
  184.  
  185.  
  186. printf(" ______________________________________________________________\n");
  187. printf("|Tamanho dos conjuntos %d |\n",x);
  188. printf("|______________________________________________________________|\n");
  189. printf("| | Tempos obtidos pelos algoritimos |\n");
  190. printf("|____________|_________________________________________________|\n");
  191. printf("|Algoritimo | Quase ordenado | Desordenado | Ordem Decrescente |\n");
  192. printf("|____________|________________|_____________|_________________ |\n");
  193. printf("|Quicksort | %f | %f | %f |\n",tempo/ (double)CLOCKS_PER_SEC, tempo1/ (double)CLOCKS_PER_SEC,tempo2/ (double)CLOCKS_PER_SEC);
  194. printf("|____________|________________|_____________|__________________|\n");
  195. printf("|shellsort | %f | %f | %f |\n",tempo3/ (double)CLOCKS_PER_SEC, tempo4/ (double)CLOCKS_PER_SEC,tempo5/ (double)CLOCKS_PER_SEC);
  196. printf("|____________|________________|_____________|__________________|\n");
  197. printf("|HeapSort | %f | %f | %f |\n",tempo6/ (double)CLOCKS_PER_SEC, tempo7/ (double)CLOCKS_PER_SEC,tempo8/ (double)CLOCKS_PER_SEC);
  198. printf("|____________|________________|_____________|__________________|\n");
  199. printf("|insercao | %f | %f | %f |\n",tempo9/ (double)CLOCKS_PER_SEC, tempo10/ (double)CLOCKS_PER_SEC,tempo11/ (double)CLOCKS_PER_SEC);
  200. printf("|____________|________________|_____________|__________________|\n");
  201. printf("|selecao | %f | %f | %f |\n",tempo12/ (double)CLOCKS_PER_SEC, tempo13/ (double)CLOCKS_PER_SEC,tempo14/ (double)CLOCKS_PER_SEC);
  202. printf("|____________|________________|_____________|__________________|\n");
  203. printf("|combo_sort | %f | %f | %f |\n",tempo15/ (double)CLOCKS_PER_SEC, tempo16/ (double)CLOCKS_PER_SEC,tempo17/ (double)CLOCKS_PER_SEC);
  204. printf("|____________|________________|_____________|__________________|\n");
  205.  
  206.  
  207. return 0;
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement