Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. struct {int v, p;}v[1001];
  4. int n, i;
  5. int pivot(int s, int d)
  6. {
  7. int i=1;
  8. while (s<d)
  9. {
  10. if(v[s].v>v[d].v)
  11. {
  12. swap(v[s],v[d]);
  13. i=-i;
  14. }
  15. if(i==1)
  16. s++;
  17. else d--;
  18. }
  19. return s;
  20. }
  21. void qs(int s, int d)
  22. {
  23. if(s<d)
  24. {
  25. int p=pivot(s,d);
  26. qs(s,p-1);
  27. qs(p+1,d);
  28. }
  29. }
  30. int main()
  31. {
  32. cin>>n;
  33. for(i=1;i<=n;i++)
  34. {
  35. cin>>v[i].v;
  36. v[i].p=i;
  37. }
  38. qs(1,n);
  39. for(i=1;i<=n;i++)
  40. cout<<v[i].p<<' ';
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement