
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写过,不过代码量比这多了
看来我还需要修炼啊
回复评论