Advertisement
Guest User

14309

a guest
Feb 21st, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. void qsort (int *a1, int l, int r);
  6. void printmas (int *a1, int n);
  7. void change (int *a, int *b);
  8.  
  9. int main ()
  10. {
  11. int n;
  12. cout<< "Input n (number of elements): \n";
  13. cin>> n;
  14. int a[n];
  15. cout<< "Inpunt mass elements: \n";
  16. for (int i=0; i<n; i++)
  17. cin>> a[i];
  18. cout<< "Mass before sort: \n";
  19. printmas (a, n);
  20. qsort (a, 0, n-1);
  21. cout<< "\n"<< "Mass after sort: \n";
  22. printmas (a, n);
  23. }
  24.  
  25. void printmas (int *a1, int n)
  26. {
  27. for (int i=0; i<n; i++)
  28. cout<< a1[i]<< " ";
  29. }
  30.  
  31. void change (int *a, int *b)
  32. {
  33. int k = *a;
  34. *a=*b;
  35. *b = k;
  36. }
  37.  
  38. void qsort ( int *a1, int l, int r)
  39. {
  40. int fir=l;
  41. int las=r;
  42. int mid=a1[(l+r)/2];
  43. while (l<r)
  44. {
  45. while (a1[l]<mid) l++;
  46. while (a1[r]>mid) r--;
  47. if (l<=r)
  48.  
  49. {
  50. if (a1[l]>a1[r])
  51. change (&a1[l], &a1[r]);
  52. l++; r--;
  53. }
  54. if (l>fir)
  55. qsort (a1, fir, r);
  56. if (r<las)
  57. qsort (a1, l, las);
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement