public void qsort1 ( int [] a, int p, int r) |
{ |
// 0个或1个元素,返回 |
if (p >= r) |
{ |
return ; |
} |
// 选择左端点为pivot |
int x = a[p]; |
int j = p; |
for ( int i = p + 1 ; i <= r; i++) |
{ |
// 小于pivot的放到左边 |
if (a[i] < x) |
{ |
swap (a, ++j, i); |
} |
} |
// 交换左端点和pivot位置 |
swap (a, p, j); |
// 递归子序列 |
qsort1 (a, p, j - 1 ); |
qsort1 (a, j + 1 , r); |
} |
初级程序员
by: 我的程序员之路 发表于:2013-05-05 20:26:41 顶(0) | 踩(0) 回复
比较简洁啊,自己以前用C写过,不过代码量比这多了
看来我还需要修炼啊
回复评论