Advertisement
Guest User

estructuras de ordenamiento y busqueda

a guest
Aug 20th, 2014
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.95 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "iostream"
  3. #include "time.h"
  4. #include "stdlib.h"
  5. #include "stdio.h"
  6. #define Tam 10000
  7. #define posibles 20
  8.  
  9. using namespace std;
  10. void cargaVector(int arr[Tam],int vector[Tam])//Carga el vector con numeros aleatorios
  11. {
  12. srand(time(NULL));
  13. for (int i = 0; i < Tam; i++)
  14. {
  15. arr[i] = rand() % posibles;
  16. }
  17. for (int i = 0; i < Tam; i++)//copia el arreglo p/q sea el mismo durante toda la ejecución
  18. {
  19. vector[i] = arr[i];
  20. }
  21. }
  22. void mostrarVector(int arr[Tam])
  23. {
  24. int aux = 0;
  25. for (int i = 0; i < Tam; i++)
  26. {
  27. cout << arr[i] << "\t";
  28. aux++;
  29. if (aux == 5)
  30. {
  31. cout << "\n";
  32. aux = 0;
  33. }
  34. }
  35. system("pause");
  36. }
  37. void buscarDato(int arr[Tam])
  38. {
  39. int dato, ref = 0;
  40. system("cls");
  41. cout << "Ingrese nro. a buscar \n";
  42. cin >> dato;
  43. for (int i = 0; i < Tam; i++)
  44. {
  45. if (arr[i] == dato)
  46. {
  47. if (ref == 0)
  48. cout << "El nro. ingresado (" << dato << ") se encuentra en la posición: \t" << i << "\t";
  49. else
  50. {
  51. cout << i << "\t";
  52. }
  53. ref++;
  54. }
  55. }
  56. if (ref==0)
  57. {
  58. cout << "El nro. ingresado (" << dato << ") no se encuentra en el vector. \n";
  59. }
  60. else
  61. {
  62. if(ref>1)
  63. cout << "El nro. ingresado (" << dato << ") se repite " << ref << " vez/veces en el vector. \n";
  64. }
  65. system("pause");
  66. }
  67. void bubbleSort(int arr[Tam], int tamaño)
  68. {
  69. int aux;
  70. for (int i = (tamaño - 1); i >= 0; i--)
  71. {
  72. for (int j = 1; j <= i; j++)
  73. {
  74. if (arr[j - 1] > arr[j])
  75. {
  76. aux = arr[j - 1];
  77. arr[j - 1] = arr[j];
  78. arr[j] = aux;
  79. }
  80. }
  81. }
  82. }
  83. void bubbleSortBidireccional(int arr[Tam], int tamaño)
  84. {
  85. int aux;
  86. for (int i = (tamaño - 1); i >= 0; i--)
  87. {
  88. for (int j = 1; j <= i; j++)
  89. {
  90. if (arr[j - 1] > arr[j])
  91. {
  92. aux = arr[j - 1];
  93. arr[j - 1] = arr[j];
  94. arr[j] = aux;
  95. }
  96. }
  97. for (int k = (tamaño-1); k >= 0 ; k--)
  98. {
  99. if (arr[k] < arr[k - 1])
  100. {
  101. aux = arr[k - 1];
  102. arr[k - 1] = arr[k];
  103. arr[k] = aux;
  104. }
  105. }
  106. }
  107. }
  108. void insertionSort(int arr[Tam], int tamaño)
  109. {
  110. int aux, i,j;
  111. for ( i = 1; i < (tamaño-1); i++)
  112. {
  113. aux = arr[i];
  114. j = i;
  115. while ((j>0)&&(arr[j-1]>aux))
  116. {
  117. arr[j] = arr[j - 1];
  118. j--;
  119. arr[j] = aux;
  120. }
  121. }
  122. }
  123. void shellSort(int arr[Tam], int tamaño)
  124. {
  125. int intervalo = (tamaño / 2), j;
  126. while (intervalo>0)
  127. {
  128. for (int i = intervalo; i < tamaño; i++)
  129. {
  130. j = (i - intervalo);
  131. while (j>=0)
  132. {
  133. int k = (j + intervalo);
  134. if (arr[j]<=arr[k])
  135. {
  136. j = (-1);
  137. }
  138. else
  139. {
  140. int x = arr[j];
  141. arr[j] = arr[k];
  142. arr[k] = x;
  143. j = (j - intervalo);
  144. }
  145. }
  146. intervalo = (intervalo / 2);
  147. }
  148. }
  149. }
  150. void Quick_Sort(int ARREGLO[Tam], int izq, int der)//Anda
  151. {
  152. int pivot, guarda_izq, guarda_der, pos_pivot;
  153. guarda_izq = izq;
  154. guarda_der = der;
  155. pivot = ARREGLO[izq];
  156. while (izq < der)
  157. {
  158. while ((ARREGLO[der] >= pivot) && (izq < der))
  159. der--;
  160. if (izq != der)
  161. {
  162. ARREGLO[izq] = ARREGLO[der];
  163. izq++;
  164. }
  165. while ((ARREGLO[izq] <= pivot) && (izq < der))
  166. izq++;
  167. if (izq != der){
  168. ARREGLO[der] = ARREGLO[izq];
  169. der--;
  170. }
  171. }
  172. ARREGLO[izq] = pivot;
  173. pos_pivot = izq;
  174. izq = guarda_izq;
  175. der = guarda_der;
  176. if (izq < pos_pivot)
  177. Quick_Sort(ARREGLO, izq, pos_pivot - 1);
  178. if (der > pos_pivot)
  179. Quick_Sort(ARREGLO, pos_pivot + 1, der);
  180. }
  181. void bucketSort(int arr[Tam])
  182. {
  183. int aux[posibles];
  184. for (int i = 0; i < posibles; i++)
  185. aux[i] = 0;
  186. for (int i = 0; i < Tam; i++)
  187. {
  188. if (arr[i]>0)
  189. {
  190. aux[arr[i]]++;
  191. }
  192. }
  193. int j = 0;
  194. for (int i = 0; i < posibles; i++)
  195. {
  196. while (aux[i]>0)
  197. {
  198. arr[j] = i;
  199. aux[i]--;
  200. j++;
  201. }
  202. }
  203. }
  204. void compTE(int arr[Tam],int vector[Tam],int tamaño)
  205. {
  206. clock_t inicio, fin;
  207. int met1, met2, izq = 0, der = (Tam - 1);
  208. double demora;
  209. char cont;
  210. system("cls");
  211. do{
  212. cout << "Indique entre que dos métodos desea comparar los tiempos de ejecución: \n";
  213. cout << "(Ingrese ambos números separados por un espacio) \n";
  214. cout << "*0" << "\t" << "BUBBLE SORT BIDIRECCIONAL \n";
  215. cout << "*1" << "\t" << "BUBBLE SORT \n";
  216. cout << "*2" << "\t" << "INSERTION SORT \n";
  217. cout << "*3" << "\t" << "SHELL SORT \n";
  218. cout << "*4" << "\t" << "QUICK SORT \n";
  219. cout << "*5" << "\t" << "BUCKET SORT \n";
  220. do{
  221. cin >> met1;
  222. cin >> met2;
  223. if (met1 == met2)
  224. cout << "No se puede comparar un metodo con si mismo \n";
  225. if (((met1<0 || met1>6) || (met2<0 || met2>6)) && met1 != met2)
  226. cout << "Uno de los valores o ambos estan fuera de los parametros \n";
  227. } while (met1 == met2 || (met1<0 || met1>6) || (met2<0 || met2>6));
  228. if ((met1 == 0 && met2 == 1) || (met1 == 1 && met2 == 0))
  229. {
  230. inicio = clock();
  231. bubbleSortBidireccional(arr, tamaño);
  232. fin = clock();
  233. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  234. cout << "Con Bubble Sort Bidireccional el vector se ordeno en: " << demora << "seg. \n";
  235. for (int i = 0; i < Tam; i++)
  236. arr[i] = vector[i];
  237. inicio = clock();
  238. bubbleSort(arr, tamaño);
  239. fin = clock();
  240. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  241. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  242. for (int i = 0; i < Tam; i++)
  243. arr[i] = vector[i];
  244. }
  245. else if ((met1 == 0 && met2 == 2) || (met1 == 2 && met2 == 0))
  246. {
  247. inicio = clock();
  248. bubbleSortBidireccional(arr, tamaño);
  249. fin = clock();
  250. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  251. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  252. for (int i = 0; i < Tam; i++)
  253. arr[i] = vector[i];
  254. inicio = clock();
  255. insertionSort(arr, tamaño);
  256. fin = clock();
  257. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  258. cout << "Con Insertion Sort el vector se ordeno en: " << demora << "seg. \n";
  259. system("pause");
  260. for (int i = 0; i < Tam; i++)
  261. arr[i] = vector[i];
  262. }
  263. else if ((met1 == 0 && met2 == 3) || (met1 == 3 && met2 == 0))
  264. {
  265. inicio = clock();
  266. bubbleSortBidireccional(arr, tamaño);
  267. fin = clock();
  268. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  269. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  270. for (int i = 0; i < Tam; i++)
  271. arr[i] = vector[i];
  272. inicio = clock();
  273. shellSort(arr, tamaño);
  274. fin = clock();
  275. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  276. cout << "Con Shell Sort el vector se ordeno en: " << demora << "seg. \n";
  277. for (int i = 0; i < Tam; i++)
  278. arr[i] = vector[i];
  279. }
  280. else if ((met1 == 0 && met2 == 4) || (met1 == 4 && met2 == 0))
  281. {
  282. inicio = clock();
  283. bubbleSortBidireccional(arr, tamaño);
  284. fin = clock();
  285. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  286. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  287. for (int i = 0; i < Tam; i++)
  288. arr[i] = vector[i];
  289. inicio = clock();
  290. Quick_Sort(arr, izq, der);
  291. fin = clock();
  292. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  293. cout << "Con Quick Sort el vector se ordeno en: " << demora << "seg. \n";
  294. for (int i = 0; i < Tam; i++)
  295. arr[i] = vector[i];
  296. }
  297. else if ((met1 == 0 && met2 == 5) || (met1 == 5 && met2 == 0))
  298. {
  299. inicio = clock();
  300. bubbleSortBidireccional(arr, tamaño);
  301. fin = clock();
  302. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  303. cout << "Con Bubble Sort Bidireccional el vector se ordeno en: " << demora << "seg. \n";
  304. for (int i = 0; i < Tam; i++)
  305. arr[i] = vector[i];
  306. inicio = clock();
  307. bucketSort(arr);
  308. fin = clock();
  309. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  310. cout << "Con Bucket Sort el vector se ordeno en: " << demora << "seg. \n";
  311. for (int i = 0; i < Tam; i++)
  312. arr[i] = vector[i];
  313. }
  314. else if ((met1 == 1 && met2 == 2) || (met1 == 2 && met2 == 1))//aca
  315. {
  316. inicio = clock();
  317. bubbleSort(arr, tamaño);
  318. fin = clock();
  319. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  320. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  321. for (int i = 0; i < Tam; i++)
  322. arr[i] = vector[i];
  323. inicio = clock();
  324. insertionSort(arr, tamaño);
  325. fin = clock();
  326. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  327. cout << "Con Insertion Sort el vector se ordeno en: " << demora << "seg. \n";
  328. system("pause");
  329. for (int i = 0; i < Tam; i++)
  330. arr[i] = vector[i];
  331. }
  332. else if ((met1 == 1 && met2 == 3) || (met1 == 3 && met2 == 1))
  333. {
  334. inicio = clock();
  335. bubbleSort(arr, tamaño);
  336. fin = clock();
  337. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  338. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  339. for (int i = 0; i < Tam; i++)
  340. arr[i] = vector[i];
  341. inicio = clock();
  342. shellSort(arr, tamaño);
  343. fin = clock();
  344. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  345. cout << "Con Shell Sort el vector se ordeno en: " << demora << "seg. \n";
  346. for (int i = 0; i < Tam; i++)
  347. arr[i] = vector[i];
  348. }
  349. else if ((met1 == 1 && met2 == 4) || (met1 == 4 && met2 == 1))
  350. {
  351. inicio = clock();
  352. bubbleSort(arr, tamaño);
  353. fin = clock();
  354. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  355. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  356. for (int i = 0; i < Tam; i++)
  357. arr[i] = vector[i];
  358. inicio = clock();
  359. Quick_Sort(arr, izq, der);
  360. fin = clock();
  361. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  362. cout << "Con Quick Sort el vector se ordeno en: " << demora << "seg. \n";
  363. for (int i = 0; i < Tam; i++)
  364. arr[i] = vector[i];
  365. }
  366. else if ((met1 == 1 && met2 == 5) || (met1 == 5 && met2 == 1))
  367. {
  368. inicio = clock();
  369. bubbleSort(arr, tamaño);
  370. fin = clock();
  371. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  372. cout << "Con Bubble Sort el vector se ordeno en: " << demora << "seg. \n";
  373. for (int i = 0; i < Tam; i++)
  374. arr[i] = vector[i];
  375. inicio = clock();
  376. bucketSort(arr);
  377. fin = clock();
  378. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  379. cout << "Con Bucket Sort el vector se ordeno en: " << demora << "seg. \n";
  380. for (int i = 0; i < Tam; i++)
  381. arr[i] = vector[i];
  382. }
  383. else if ((met1 == 2 && met2 == 3) || (met1 == 3 && met2 == 2))
  384. {
  385.  
  386. inicio = clock();
  387. insertionSort(arr, tamaño);
  388. fin = clock();
  389. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  390. cout << "Con Insertion Sort el vector se ordeno en: " << demora << "seg. \n";
  391. for (int i = 0; i < Tam; i++)
  392. arr[i] = vector[i];
  393. inicio = clock();
  394. shellSort(arr, tamaño);
  395. fin = clock();
  396. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  397. cout << "Con Shell Sort el vector se ordeno en: " << demora << "seg. \n";
  398. for (int i = 0; i < Tam; i++)
  399. arr[i] = vector[i];
  400.  
  401. }
  402. else if ((met1 == 2 && met2 == 4) || (met1 == 4 && met2 == 2))
  403. {
  404. inicio = clock();
  405. insertionSort(arr, tamaño);
  406. fin = clock();
  407. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  408. cout << "Con Insertion Sort el vector se ordeno en: " << demora << "seg. \n";
  409. for (int i = 0; i < Tam; i++)
  410. arr[i] = vector[i];
  411. inicio = clock();
  412. Quick_Sort(arr, izq, der);
  413. fin = clock();
  414. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  415. cout << "Con Quick Sort el vector se ordeno en: " << demora << "seg. \n";
  416. for (int i = 0; i < Tam; i++)
  417. arr[i] = vector[i];
  418. }
  419. else if ((met1 == 2 && met2 == 5) || (met1 == 5 && met2 == 2))
  420. {
  421. inicio = clock();
  422. insertionSort(arr, tamaño);
  423. fin = clock();
  424. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  425. cout << "Con Insertion Sort el vector se ordeno en: " << demora << "seg. \n";
  426. for (int i = 0; i < Tam; i++)
  427. arr[i] = vector[i];
  428. inicio = clock();
  429. bucketSort(arr);
  430. fin = clock();
  431. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  432. cout << "Con Bucket Sort el vector se ordeno en: " << demora << "seg. \n";
  433. for (int i = 0; i < Tam; i++)
  434. arr[i] = vector[i];
  435. }
  436. else if ((met1 == 3 && met2 == 4) || (met1 == 4 && met2 == 3))
  437. {
  438. inicio = clock();
  439. shellSort(arr, tamaño);
  440. fin = clock();
  441. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  442. cout << "Con Shell Sort el vector se ordeno en: " << demora << "seg. \n";
  443. for (int i = 0; i < Tam; i++)
  444. arr[i] = vector[i];
  445. inicio = clock();
  446. Quick_Sort(arr, izq, der);
  447. fin = clock();
  448. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  449. cout << "Con Quick Sort el vector se ordeno en: " << demora << "seg. \n";
  450. for (int i = 0; i < Tam; i++)
  451. arr[i] = vector[i];
  452. }
  453. else if ((met1 == 3 && met2 == 5) || (met1 == 5 && met2 == 3))
  454. {
  455. inicio = clock();
  456. shellSort(arr, tamaño);
  457. fin = clock();
  458. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  459. cout << "Con Shell Sort el vector se ordeno en: " << demora << "seg. \n";
  460. for (int i = 0; i < Tam; i++)
  461. arr[i] = vector[i];
  462. inicio = clock();
  463. bucketSort(arr);
  464. fin = clock();
  465. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  466. cout << "Con Bucket Sort el vector se ordeno en: " << demora << "seg. \n";
  467. for (int i = 0; i < Tam; i++)
  468. arr[i] = vector[i];
  469. }
  470. else if ((met1 == 4 && met2 == 5) || (met1 == 5 && met2 == 4))
  471. {
  472. inicio = clock();
  473. Quick_Sort(arr, izq, der);
  474. fin = clock();
  475. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  476. cout << "Con Quick Sort el vector se ordeno en: " << demora << "seg. \n";
  477. for (int i = 0; i < Tam; i++)
  478. arr[i] = vector[i];
  479. inicio = clock();
  480. bucketSort(arr);
  481. fin = clock();
  482. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  483. cout << "Con Bucket Sort el vector se ordeno en: " << demora << "seg. \n";
  484. for (int i = 0; i < Tam; i++)
  485. arr[i] = vector[i];
  486. }
  487. cout << "Realizar otra comparación? S/N \n";
  488. cin >> cont;
  489. system("cls");
  490. }while (cont == 's'||cont=='S' );
  491. }
  492. void busquedaBinaria(int arr[Tam],int izq, int der,int dato)
  493. {
  494. int medio = (izq + der) / 2;
  495. if (izq>der)
  496. {
  497. cout << dato << " no se encuentra en el vector. \n";
  498. system("pause");
  499. }
  500. else if (izq<=der&&arr[medio]==dato)
  501. {
  502. cout << "El dato (" << dato << ") se encuentra en la posicion "<< medio << " del vector. \n";
  503. system("pause");
  504. }
  505. else if (dato<arr[medio])
  506. {
  507. busquedaBinaria(arr, izq, (medio - 1),dato);
  508. }
  509. else if (dato>arr[medio])
  510. {
  511. busquedaBinaria(arr,(medio+1),der,dato);
  512. }
  513. }
  514. int _tmain(int argc, _TCHAR* argv[])
  515. {
  516. clock_t inicio, fin;
  517. double demora;
  518. int tamaño = Tam, Switch, vector[Tam], arr[Tam], izq = 0, der = (Tam - 1);
  519. char vervec;
  520. cargaVector(arr,vector);
  521. do
  522. {
  523. cout << "SELECCIONE LA OPCIÓN DESEADA: \n";
  524. cout << "*1" << "_____" << "MOSTRAR CONTENIDO DEL VECTOR \n";
  525. cout << "*2" << "_____" << "BUSCAR UN NRO. EN EL VECTOR \n";
  526. cout << "*3" << "_____" << "ORDENAR VECTOR CON BUBBLE SORT \n";
  527. cout << "*4" << "_____" << "ORDENAR VECTOR CON BUBBLE SORT BIDIRECCIONAL \n";
  528. cout << "*5" << "_____" << "ORDENAR VECTOR CON INSERTION SORT \n";
  529. cout << "*6" << "_____" << "ORDENAR VECTOR CON SHELL SORT \n";
  530. cout << "*7" << "_____" << "ORDENAR VECTOR CON QUICK SORT \n";
  531. cout << "*8" << "_____" << "ORDENAR VECTOR CON BUCKET SORT \n";
  532. cout << "*9" << "_____" << "COMPARAR TIEMPOS DE EJECUCION \n";
  533. cout << "*0" << "_____" << "SALIR \n";
  534. do
  535. {
  536. cin >> Switch;
  537. if (Switch<0 || Switch>9)
  538. {
  539. cout << "Ingrese una opción válida entre 0 y 9. \n ";
  540. system("pause");
  541. }
  542. } while (Switch<0 || Switch>9);
  543.  
  544. switch (Switch)
  545. {
  546. case 1:{
  547. mostrarVector(arr);
  548. break; }
  549. case 2:{
  550. int dato;
  551. system("cls");
  552. cout << "Ingrese nro. a buscar \n";
  553. cin >> dato;
  554. busquedaBinaria(arr, izq, der,dato);
  555. break; }
  556. case 3:{
  557. inicio = clock();
  558. bubbleSort(arr, tamaño);
  559. fin = clock();
  560. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  561. cout << "El vector se ordeno en: " << demora << "seg. \n";
  562. cout << "Ver el vector? S/N \n";
  563. cin >> vervec;
  564. if (vervec == 's' || vervec == 'S')
  565. mostrarVector(arr);
  566. break; }
  567. case 4:{
  568. inicio = clock();
  569. bubbleSortBidireccional(arr, tamaño);
  570. fin = clock();
  571. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  572. cout << "El vector se ordeno en: " << demora << "seg. \n";
  573. cout << "Ver el vector? S/N \n";
  574. cin >> vervec;
  575. if (vervec == 's' || vervec == 'S')
  576. mostrarVector(arr);
  577. break; }
  578. case 5:{
  579. inicio = clock();
  580. insertionSort(arr, tamaño);
  581. fin = clock();
  582. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  583. cout << "El vector se ordeno en: " << demora << "seg. \n";
  584. cout << "Ver el vector? S/N \n";
  585. cin >> vervec;
  586. if (vervec == 's' || vervec == 'S')
  587. mostrarVector(arr);
  588. break; }
  589. case 6:{
  590. inicio = clock();
  591. shellSort(arr, tamaño);
  592. fin = clock();
  593. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  594. cout << "El vector se ordeno en: " << demora << "seg. \n";
  595. cout << "Ver el vector? S/N \n";
  596. cin >> vervec;
  597. if (vervec == 's' || vervec == 'S')
  598. mostrarVector(arr);
  599. break; }
  600. case 7:{
  601. inicio = clock();
  602. Quick_Sort(arr, izq, der);
  603. fin = clock();
  604. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  605. cout << "El vector se ordeno en: " << demora << "seg. \n";
  606. cout << "Ver el vector? S/N \n";
  607. cin >> vervec;
  608. if (vervec == 's' || vervec == 'S')
  609. mostrarVector(arr);
  610. break; }
  611. case 8:{
  612. inicio = clock();
  613. bucketSort(arr);
  614. fin = clock();
  615. demora = (double)(fin - inicio) / CLOCKS_PER_SEC;
  616. cout << "El vector se ordeno en: " << demora << "seg. \n";
  617. cout << "Ver el vector? S/N \n";
  618. cin >> vervec;
  619. if (vervec == 's' || vervec == 'S')
  620. mostrarVector(arr);
  621. break; }
  622. case 9:{
  623. compTE(arr, vector, tamaño);
  624. break;
  625. }
  626. case 0:{
  627. return(0);
  628. }
  629. default:
  630. break;
  631. }
  632. system("cls");
  633. for (int i = 0; i < Tam; i++)//reestablece los valores de arr antes de ser ordenado
  634. {
  635. arr[i] = vector[i];
  636. }
  637. } while (true);
  638. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement