Advertisement
Guest User

Quicksort

a guest
Feb 23rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;
  5. int tablica[20];
  6. void quicksort(int pocz, int kon)
  7. {
  8. if(pocz >= kon)
  9. {
  10. return;
  11. }
  12.  
  13. int pomocnicza[20];
  14. int p = pocz, k = kon;
  15. int pivot = rand() % (kon - pocz) + pocz;
  16.  
  17. for(int i = 0; i < 20; i++)
  18. {
  19. pomocnicza[i] = tablica[pivot];
  20. }
  21.  
  22. for(int i=pocz ; i<kon ; i++)
  23. {
  24. if(tablica[i]< tablica[pivot])
  25. {
  26. pomocnicza[p]=tablica[i];
  27. p++;
  28. }
  29. else if (tablica[i]>pivot)
  30. {
  31. pomocnicza[k]=tablica[i];
  32. k--;
  33. }
  34. }
  35.  
  36. for(int i = pocz; i < kon; i++)
  37. {
  38. tablica[i] = pomocnicza[i];
  39. }
  40.  
  41. quicksort(pocz, p);
  42. quicksort(k + 1, kon);
  43. }
  44.  
  45. int main()
  46. {
  47. srand (time(0));
  48. for(int i=0 ; i<20 ; i++)
  49. {
  50. tablica[i]=rand()%1000;
  51. cout << tablica[i]<<" ";
  52. }
  53. quicksort(0,20);
  54. for (int i=0 ; i < 20 ; i++)
  55. {
  56. cout << tablica[i]<< " ";
  57. }
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement