社区讨论

求助大佬?为什么我后三个点测试点都超时了?

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 条回复,欢迎继续交流。

正在加载回复...