胖阿!
unknown
c_cpp
10 days ago
1.1 kB
5
Indexable
#include<bits/stdc++.h> using namespace std; #define pb push_back vector<int> a; void quick(int l, int r){ if(l >= r) return; else if(l+1 == r){ if(a[l]>a[r]) swap(a[l], a[r]); return; } int p = a[l+1]; cout << "pivot:" << p << endl; vector<int> mi, ma; for(int i = l; i <= r; i++){ if(i==l+1) continue; if(a[i] < p) mi.pb(a[i]); else ma.pb(a[i]); } int k = l; for(int i: mi){ cout << i << " "; a[k] = i; k++; } cout << endl; a[k] = p; int po = k; k++; for(int i: ma){ cout << i << " "; a[k] = i; k++; } cout << endl; quick(l, po-1); quick(po+1, r); } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; a.resize(n); for(int i = 0; i < n ; i++){ cin >> a[i]; } quick(0, n-1); cout << "result:"; for(int i = 0; i < n; i++){ cout << a[i]; if(i!=n-1) cout << ","; } cout << endl; }
Editor is loading...
Leave a Comment