求助为什么这个代码前两个是WA
查看原帖
求助为什么这个代码前两个是WA
582860
WANGkevin楼主2022/3/13 19:33
#include<stdio.h>

int arr[100010];

void fastsort(int lo,int hi){
    if(lo >= hi){
        return;
    }
    int x = arr[hi],i = lo,j = hi;
    while(i != j){
        while(i!=j){
            if(arr[i] > x){
                arr[j] = arr[i];
                break;
            }
            i++;
        }
        while(i!=j){
            if(x > arr[j]){
                arr[i] = arr[j];
                break;
            }
            j--;
        }
    }
    arr[i] = x;
    fastsort(lo,i-1);
    fastsort(i+1,hi);
}

void print(int N)
{
    for(int i = 0; i < N-1; i++){
        printf("%d ",arr[i]);
    }
    printf("%d\n",arr[N-1]);
}


int main(){
    int N;
    scanf("%d",&N);
    for(int i = 0; i < N; i++){
        scanf("%d",&arr[i]);
    }
    fastsort(0,N-1);
    print(N);
    return 0;
}

2022/3/13 19:33
加载中...