Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
134687 | why | 常用排序法 | C++ | 解答错误 | 0 | 3 MS | 300 KB | 453 | 2024-03-02 17:00:07 |
#include<bits/stdc++.h> using namespace std; int n,a[10001]; void quick(int i,int j){ int m,n,temp,k; k=a[(i+j)/2]; while(m<=n){ while(a[m]<k&&m<j)m++; while(a[n]>k&&n>1)n--; if (m<=n){ temp=a[m];a[m]=a[n];a[n]=temp; m++;n--; } } if(m<j)quick(m,j); if(n>i)quick(n,i); } int main(){ cin>>n; for (int i=1;i<=n;i++){ cin>>a[i]; } quick(1,n); for (int j=1;j<=n;j++){ cout<<a[j]<<" "; } return 0; }