快速排序因为其效率较高经常在笔试题中对其考查。以待排序列{6, 5, 3, 1, 7, 2, 4}为例,选取第一个元素6为基数。选好基数,设置好哨兵过后,接下来则是开始比较,此时基数不再与哨兵j进行比较,而是与哨兵i进行比较,如果基数大于哨兵i,则哨兵一直向后移,直到大于基数为止交换同时哨兵j-1。最终结果可见哨兵i的位置=哨兵j的位置,此时将基数赋值给这个位置。这样就达到了基数6左边的数字均小于它,右边的数字均大于它,再利用递归对其左右数组进行同样的步骤选取基数,设置哨兵,最后即可完成排序。

比较排序之快速排序(实例代码)

比较排序之快速排序(实例代码)

比较排序之快速排序(实例代码)

比较排序之快速排序(实例代码)