社区讨论
求助大佬?为什么我后三个点测试点都超时了?
P1177【模板】排序参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lrspwoph
- 此快照首次捕获于
- 2024/01/25 12:32 2 年前
- 此快照最后确认于
- 2024/01/25 15:09 2 年前
CPP
#include<stdio.h>
int part(int A[],int n, int p, int r) {
int x, i, j, t;
x = A[r];
i = p - 1;
for (int j = p;j < r;j++) {
if (A[j] <= x){
i++;
t = A[i];
A[i] = A[j];
A[j] = t;
}}
t = A[i + 1];
A[i + 1] = A[r];
A[r] = t;
return i + 1;
}
void quincksort(int A[],int n,int p, int r){
int q=0;
if(p<r){
q=part( A,n,p, r);
quincksort( A,n,p,q-1);
quincksort(A,n,q+1,r);
}}
int main(){
int A[100000],n;
scanf("%d\n",&n);
for(int i=0;i<n;i++){
scanf("%d",&A[i]);
}
quincksort(A,n,0,n-1);
for(int i=0;i<n;i++){
printf("%d ",A[i]);}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...