摘要:
回来想了想,写出了如下的程序:/** * 一道面试题,按照其描述要求进行快速排序(英文的,希望理解是对的。。) * 要求:和一般的快速排序算法不同的是,它不是依次交换pivot和左右元素节点(交换2次),而是交换pivot左边的元素和pivot右边的元素。 * * 自己笔写的程序大体上是正确的,但是递归的结束条件没有处理好(我当时写的是返回的i索引值大于0)。 * 递归的结束条件??? * * 现在看看代码,实际运行了,感觉返回的i索引值大于0这个递归结束条件真的是不对的,因为可能一次排序后根本没有改变任何元素位置,这样i的值是不会发生改变的 * * 这里想到一个递归结束的办法是:如果对... 阅读全文