胖阿!
unknown
c_cpp
8 months ago
1.1 kB
6
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