Loading... ``` #include <iostream> using namespace std; const int N = 1e5 + 10; int n, arr[N]; void sort(int left, int right) { if (left >= right) return ; int l = left - 1, r = right + 1, tar = arr[((r - l) >> 1) + l]; while(l < r) { do ++l; while(arr[l] < tar); do --r; while(arr[r] > tar); if (l < r) swap(arr[l], arr[r]); } sort(left, r); sort(r + 1, right); } int main () { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i < n; ++i) cin >> arr[i]; sort(0, n - 1); for (int i = 0; i < n; ++i) cout << arr[i] << ' '; return 0; } ``` 最后修改:2024 年 08 月 08 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏