Segmentation fault求助
查看原帖
Segmentation fault求助
1427535
DongXD楼主2024/10/9 23:12

代码在本机上一运行就提示Segmentation fault

#include <bits/stdc++.h>
using namespace std;
void paixv(int n,int suo,long long a[],long long res[]){
        long long B[100000]={0},C[100000]={0},D[100000]={0};
        int b=0,c=0,d=0;
        int x=a[0];
        for(int i=0;i<n;i++){
            if(a[i]>x){
                D[d]=a[i];
                d++;
            }
            else if(a[i]<x){
                B[b]=a[i];
                b++;
            }
            else{
                C[c]=a[i];
                c++;
            }
        }
        if(b==1) res[suo]=B[0];
        if(d==1) res[suo+b+c]=C[0];
        int j=0;
        for(int i=b+suo;i<c+b;i++){
            res[i]=C[j];
            j++;
        }
        if(b>1) paixv(b,0,B,res);
        if(d>1) paixv(d,b+c,D,res);
    }
int main() {
    int n;
    long long a[100000]={0};
    cin >> n;
    for (int i=0; i<n; i++){
        cin >> a[i];
    }
    paixv(n,0,a,a);
    for(int i=0;i<n;i++){
        cout << a[i] << " ";
    }
    cout<<endl;
    return 0;
}
2024/10/9 23:12
加载中...