Advertisement
Guest User

Quicksort

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