1 条题解
-
1
快速排序
#include <bits/stdc++.h> using namespace std; int n; int a[1000000+5]; void quickly_sort(int l, int r) { if(l>=r)//排序完成,停止 return; int mid = (l+r)/2; swap(a[l],a[mid]); int key = a[l]; int L = l, R = r; while(L<R) { while(R>L&&a[R]>=key) R--; a[L]=a[R]; while(L<R&&a[L]<=key) L++; a[R]=a[L]; } a[L] = key; quickly_sort(l,L-1); quickly_sort(R+1,r); } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; quickly_sort(1,n); for(int i=1;i<=n;i++) cout<<a[i]<<" "; return 0; }
信息
- ID
- 1083
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 134
- 已通过
- 43
- 上传者