Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct {int v, p;}v[1001];
- int n, i;
- int pivot(int s, int d)
- {
- int i=1;
- while (s<d)
- {
- if(v[s].v>v[d].v)
- {
- swap(v[s],v[d]);
- i=-i;
- }
- if(i==1)
- s++;
- else d--;
- }
- return s;
- }
- void qs(int s, int d)
- {
- if(s<d)
- {
- int p=pivot(s,d);
- qs(s,p-1);
- qs(p+1,d);
- }
- }
- int main()
- {
- cin>>n;
- for(i=1;i<=n;i++)
- {
- cin>>v[i].v;
- v[i].p=i;
- }
- qs(1,n);
- for(i=1;i<=n;i++)
- cout<<v[i].p<<' ';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement