您的位置:首页 > 其它

快排

2015-05-31 15:12 363 查看
int part(int *x, int p, int q){
int pivot = x[p];
int i = p;
int j = p+1;
int temp = 0;
for(j = p+1; j <= q; j++){
if(x[j] < pivot){
i++;
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
x[p] = x[i];
x[i] = pivot;
return i;
}

int quickSort(int *x, int p, int q){
if(p < q){
int r = part(x, p, q);
quickSort(x, p, r-1);
quickSort(x, r+1, q);
}
return 0;
}

int test(void){
int x[] = {3,2,1,6,3,7,5,1,9,21,97,32,5,4};
int n = (sizeof x)/4;
quickSort(x,0,n-1);
for(int i = 0; i < n; i++)
cout<<x[i]<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: