#include #include #define swap(type, a, b) do {type tmp = a; a = b; b = tmp;} while(0) void quicksort(int* arr, int l, int r){ if(l >= r) return; int pivot = arr[l]; int i = l, j = r; while(i < j){ while(i < j && pivot <= arr[j]) j--; while(i < j && pivot >= arr[i]) i++; if(i < j) swap(int, arr[i], arr[j]); } swap(int, arr[l], arr[i]); quicksort(arr, l, i - 1); quicksort(arr, i + 1, r); } int main(){ int n; scanf("%d", &n); int* arr = (int*)malloc(n * sizeof(int)); for(int i = 0; i < n; ++i){ scanf("%d", &arr[i]); } quicksort(arr, 0, n - 1); for(int i = 0; i < n; ++i){ printf("%d ", arr[i]); } printf("\n"); return 0; }