Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
166516 | C班-陈乐 | 常用排序法 | C++ | 通过 | 100 | 33 MS | 648 KB | 488 | 2024-08-19 14:45:49 |
#include <iostream> using namespace std; int a[100001]; void qs(int i,int j) { int m=i,n=j; int k=a[rand() % (j-i+1)+i]; while(m <= n) { while(a[m]<k && m<j) m ++; while(a[n]>k && n>i) n --; if(m<=n) swap(a[m++],a[n--]); } if(m < j) qs(m,j); if(n > i) qs(i,n); } int main() { int n; cin >> n; for (int i = 1 ; i <= n ; i ++) cin >> a[i]; qs(1,n); for (int i = 1 ; i <= n ; i ++) cout << a[i] << " "; }