Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define pb push_back
- #define ALL(o) (o).begin(),(o).end()
- #define fo(n) for(int i=0;i<n;i++)
- #define fos(o,n) for(int i=o;i<=n;i++)
- vector<int> p;
- void print(){
- fo( p.size() - 1 ) cout << p[i] << ' ';
- cout << p[ p.size() - 1 ] << endl;
- }
- void quicksort( int L , int R ){
- int mid = ( L + R ) / 2 , l = L , r = R;
- if( L == R ) return;
- while( r > l ){
- while( p[l] <= p[R] && l < R ) ++l;
- while( p[r] >= p[R] && r > L ) --r;
- if( r > l ) {
- swap( p[l] , p[r] );
- ++l , --r;
- print();
- }
- }
- while( p[l] <= p[R] && l < R ) ++l;
- if( l != R ){
- swap( p[l] , p[R] );
- print();
- }
- if( l - 1 > L ) quicksort( L , l - 1 );
- if( R > l ) quicksort( l , R );
- }
- int main(){
- stringstream ss;
- string s;
- getline( cin , s );
- ss << s;
- int num;
- while( ss >> num ) p.pb( num );
- print();
- quicksort( 0 , p.size() - 1 );
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement