# include <iostream> using namespace std; void my_qsort(int arr[], int, int); int main() { int n; cin>>n; int *arr = new int[n]; for(int i = 0;i < n; ++i) cin >> arr[i]; my_qsort(arr, 0, n - 1); for(int i = 0; i < n; ++i) cout << arr[i]<<" "; cout<<endl; } void my_qsort(int arr[], int l, int r) { int i, j, p,mid; i=l; j=r; mid=arr[(l+r)/2]; do { while(arr[i]<mid) i++; while(arr[j]>mid) j--; if(i<=j) { p=arr[i]; arr[i]=arr[j]; arr[j]=p; i++; j--; } } while(i<=j); if(l<j) my_qsort(arr, l, j); if(i<r) my_qsort(arr, i, r); } /* * 1 6 4 2 3 mid = 4, i = 0, j = 4 * 1 3 4 2 6 mid = 4, i = 2, j = 3 * 1 3 2 4 6 mid = 4, i = 3, j = 2 * 1 3 2 mid = 1, i = 0, j = 2 * 1 2 3 mid = 1, i = 2, j = 1 * 4 6 ... * result: * 1 2 3 4 6 */