首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

快排,该如何处理

2012-09-06 
快排void QSort(int *a, int p, int r){int i p-1int x a[r]int k,tmpif(p r){for(kp kr ++k

快排
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万条数据就出现段错误,不知道哪里有问题,求解!

[解决办法]
递归层级过多导致的段错误。

热点排行