Advertisement
Guest User

Untitled

a guest
Feb 5th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <windows.h>
  4. #include <cstdlib>
  5. #include <ctime>
  6.  
  7. using namespace std;
  8.  
  9. void sort_quick(int tab[], int zero, int elementy)
  10. {
  11. int srodek = tab[zero + elementy / 2];
  12. int i, j, temp;
  13. i = zero;
  14. j = elementy;
  15. do
  16. {
  17. while (tab[j] > srodek)
  18. j--;
  19. while (tab[i] < srodek)
  20. i++;
  21. if (i <= j)
  22. {
  23. temp = tab[i];
  24. tab[i] = tab[j];
  25. tab[j] = temp;
  26. i++;
  27. j--;
  28. }
  29. }while (i <= j);
  30. if (j > zero) sort_quick(tab, zero, j);
  31. if (i < elementy) sort_quick(tab, i, elementy);
  32. }
  33.  
  34. void losowanie(int tab[], int n)
  35. {
  36. cout << "\nTablica = { ";
  37. for (int i = 0; i < n; i++)
  38. {
  39. tab[i] = (rand() % 100) + 0;
  40. cout << tab[i] << ", ";
  41. }
  42. cout << "}\n\n";
  43. }
  44.  
  45. void po_posortowaniu(int tab[], int elementy)
  46. {
  47. cout << "Tablica po posortowaniu = { ";
  48. for (int i = 0; i < elementy; i++)
  49. {
  50. cout << tab[i] << ", ";
  51. }
  52. cout << "}" << endl;
  53. }
  54.  
  55. int main()
  56. {
  57.  
  58. srand(time(NULL));
  59. int elementy;
  60. cout << "Podaj liczbe elementow tablicy: ";
  61. cin >> elementy;
  62. int *tab = new int[elementy];
  63. losowanie(tab, elementy);
  64. DWORD start = GetTickCount();
  65. sort_quick(tab, 0, elementy-1);
  66. po_posortowaniu(tab, elementy);
  67. printf("Czas wykonywania: %lu ms\n", GetTickCount() - start);
  68. delete[] tab;
  69. return 0;
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement