Facebook
From Jonasz Machnia, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 256
  1. #include <iostream>
  2.  
  3. #include <cstdlib>
  4.  
  5. #include <ctime>
  6.  
  7. using namespace std;
  8.  
  9. int tab[20];
  10. int pomocnicza[20];
  11. int pozycja;
  12.  
  13. void quicksort(int poczatek, int koniec)
  14. {
  15. if(poczatek>=koniec)
  16.     {
  17.         return;
  18.     }
  19. int p=poczatek, k=koniec;
  20. int pivot=rand()%(koniec-poczatek)+poczatek;
  21. for(int i=poczatek; i<koniec; i++)
  22. {
  23.     if(tab[i]<tab[pivot])
  24.     {
  25.         pomocnicza[p]=tab[i];
  26.         p++;
  27.     }
  28.     else
  29.     {
  30.         if(tab[i]>tab[pivot])
  31.         {
  32.             pomocnicza[k]=tab[i];
  33.             k--;
  34.         }
  35.     }
  36. }
  37. for(int i=poczatek; i<koniec; i++)
  38. {
  39.     tab[i]=pomocnicza[i];
  40. }
  41. quicksort(poczatek, p);
  42. quicksort(k+1, koniec);
  43. }
  44. int main()
  45. {
  46.     srand(time(0));
  47.     for(int i=0; i<20; i++)
  48.     {
  49.         tab[i]=rand()%100;
  50.         cout << tab[i] << " ";
  51.     }
  52.     quicksort(0, 20);
  53.     cout << "\n";
  54.     for(int i=0; i<20; i++)
  55.     {
  56.         cout << tab[i] << " ";
  57.     }
  58.     return 0;
  59. }
  60.