Advertisement
lewapkon

quickSort

Mar 3rd, 2015
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. #include <iostream>
  2. //#include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. const int N = 15;
  7.  
  8. void quickSort(int array[], int start, int end) {
  9.     if (start < end) {
  10.         int l = start+1, r = end, p = array[start];
  11.         while (l < r) {
  12.             if(array[l] <= p)
  13.                 l++;
  14.             else if(array[r] >= p)
  15.                 r--;
  16.             else
  17.                 swap(array[l], array[r]);
  18.         }
  19.         if (array[l] < p) {
  20.             swap(array[l], array[start]);
  21.             l--;
  22.         }
  23.         else {
  24.             l--;
  25.             swap(array[l], array[start]);
  26.         }
  27.         quickSort(array, start, l);
  28.         quickSort(array, r, end);
  29.     }
  30. }
  31.  
  32. int main(int argc, const char * argv[]) {
  33.     int i, tab[N];
  34.     srand(time(0));
  35.    
  36.     cout << "Wylosowane liczby:\n";
  37.     for (i = 0; i < N; i++) {
  38.         tab[i] = rand() % 31 + 1;
  39.         cout << tab[i] << ' ';
  40.     }
  41.    
  42.     cout << endl << endl;
  43.    
  44.     quickSort(tab, 0, N-1);
  45.    
  46.     for (i = 0; i < N; i++) {
  47.         cout << tab[i] << ' ';
  48.     }
  49.    
  50.     cout << endl << endl;
  51.     //system("pause");
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement