【11.17】快速排序算法

作者: 江北01 | 来源:发表于2016-11-17 18:44 被阅读37次

    基本思想为:
    1.先从待排序区间中取出一个数作为基准数,一般选择首(或末元素)作为基准元素(key),这样易于理解也不易出错。关于其它位置选择方法及出现的问题这里暂不叙述。
    2.分区过程,将比这个数大的数全放到它的右边,
    小于或等于它的数全放到它的左边。
    3.再对左右区间重复第二步,直到各区间只有一个数。

    这里引用网友提出的易于理解的挖坑填坑思想更加易于记忆与理解。
    详细实现代码如下:

    捕获1.PNG 捕获2.PNG

    完全代码及测试结果如下:

    捕获3.PNG 捕获4.PNG

    现进行第一种改写,将前后搜寻相继进行,再以交换替代填坑,过程不再赘述,上代码:

    捕获5.PNG 捕获6.PNG

    其他改进算法,如随机选取基准,等待后续更新。

    相关文章

      网友评论

        本文标题:【11.17】快速排序算法

        本文链接:https://www.haomeiwen.com/subject/lvodpttx.html