Advertisement
Dani_info

quicksort

Mar 4th, 2019
105
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int position(int[], int, int);
  6. void quicksort(int[], int, int);
  7.  
  8. int main()
  9. {
  10.     int n;
  11.     cout<<"n="; cin>>n;
  12.     int v[n];
  13.     cout<<"Introdu elementele vectorului:"<<endl;
  14.     for (int i=0; i<n; i++)
  15.         cin>>v[i];
  16.     quicksort(v,0, n-1);
  17.     cout<<"Vectorul sortat este:"<<endl;
  18.     for (int i=0; i<n; i++)
  19.         cout<<v[i]<<" ";
  20.     return 0;
  21. }
  22.  
  23.     int position (int v[],int stg, int dr){
  24.             int piv=v[stg];
  25.             while (stg<dr){
  26.                 if (v[stg]>v[dr])
  27.                     swap (v[stg++], v[dr]);
  28.                 else
  29.                     dr--;
  30.             }
  31.             return stg;
  32.         }
  33.     void quicksort (int v[], int stg, int dr){
  34.         if (stg<dr){
  35.             quicksort(v, stg, position(v, stg, dr)-1);
  36.             quicksort(v, position(v, stg, dr)+1, dr);
  37.         }
  38.     }
Advertisement
RAW Paste Data Copied
Advertisement