Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <iostream>
- using namespace std;
- void qsort (int *a1, int l, int r);
- void printmas (int *a1, int n);
- void change (int *a, int *b);
- int main ()
- {
- int n;
- cout<< "Input n (number of elements): \n";
- cin>> n;
- int a[n];
- cout<< "Inpunt mass elements: \n";
- for (int i=0; i<n; i++)
- cin>> a[i];
- cout<< "Mass before sort: \n";
- printmas (a, n);
- qsort (a, 0, n-1);
- cout<< "\n"<< "Mass after sort: \n";
- printmas (a, n);
- }
- void printmas (int *a1, int n)
- {
- for (int i=0; i<n; i++)
- cout<< a1[i]<< " ";
- }
- void change (int *a, int *b)
- {
- int k = *a;
- *a=*b;
- *b = k;
- }
- void qsort ( int *a1, int l, int r)
- {
- int fir=l;
- int las=r;
- int mid=a1[(l+r)/2];
- while (l<r)
- {
- while (a1[l]<mid) l++;
- while (a1[r]>mid) r--;
- if (l<=r)
- {
- if (a1[l]>a1[r])
- change (&a1[l], &a1[r]);
- l++; r--;
- }
- if (l>fir)
- qsort (a1, fir, r);
- if (r<las)
- qsort (a1, l, las);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement