快排
void QSort(int *a, int p, int r){
int i = p-1;
int x = a[r];
int k,tmp;
if(p < r){
for(k=p; k<r; ++k){
if(a[k]<=x){
++i;
tmp = a[k];
a[k] = a[i];
a[i] = tmp;
}
}
++i;
tmp = a[i];
a[i] = a[r];
a[r] = tmp;
QSort(a,p,i-1);
QSort(a,i+1,r);
}
}
10万条数据还能执行,20万条数据就出现段错误,不知道哪里有问题,求解!
[解决办法]
递归层级过多导致的段错误。