美文网首页
简洁的快速排序

简洁的快速排序

作者: WhyDoWeLive | 来源:发表于2019-06-15 14:09 被阅读0次
def quick_sort(arr, begin, end):
    if begin >= end:
        return

    move_left = begin
    move_right = end

    while move_left < move_right:
        # 要先从右侧找,否则move_left最终可能指向比arr[begin]大的值
        while move_left < move_right and arr[move_right] > arr[begin]:
            move_right -= 1

        while move_left < move_right and arr[move_left] <= arr[begin]:
            move_left += 1

        arr[move_left], arr[move_right] = arr[move_right], arr[move_left]

    arr[begin], arr[move_left] = arr[move_left], arr[begin]
    quick_sort(arr, begin, move_left-1)
    quick_sort(arr, move_left+1, end)

相关文章

  • 简洁的快速排序

  • python简洁代码实现快速排序

    *快速排序 最优时间复杂度为nlogn,因为要完成n个嵌套调用,,但比冒泡排序要快python实现逻辑过程是这样得...

  • 七大排序算法之快速排序

    七大排序算法之快速排序 @(算法笔记)[排序算法, 快速排序, C++实现] [TOC] 快速排序的介绍: 快速排...

  • 归并排序与快速排序python简洁实现

    快速排序和归并排序的原理就不多讲,但网上的实现方法都比较繁琐,这里用更简短优美的python来实现上述算法.

  • 快速排序

    python版本快速排序: 1. 简洁版递归: 2. 常见版本: 3. 算法导论版: 4. 非递归版:

  • 快速排序的Python实现

    目录 快速排序的介绍 快速排序的Python实现 快速排序的介绍 快速排序(quick sort)的采用了分治的策...

  • 算法笔记01-排序#2

    快速排序敢叫快速排序,那它一定得快。 快速排序 概述 快速排序也是分治排序的典型,它快,而且是原地排序。不过,要防...

  • 数据结构与算法 快速排序

    起因:快速排序,又称分区交换排序,简称快排,之前没有了解过,抽空学习一下。 快速排序 1 快速排序 快速排序的定义...

  • 数组-快速排序

    采用快速方式对数组进行排序 快速排序百科:快速排序(Quicksort)是对冒泡排序算法的一种改进.快速排序是通过...

  • 面试准备--排序

    堆排序 快速排序(simple) 快速排序(regular) 归并排序 Shell排序 插入排序 选择排序 冒泡排序

网友评论

      本文标题:简洁的快速排序

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