美文网首页
快速排序(递归实现)

快速排序(递归实现)

作者: 路人乙yh | 来源:发表于2020-06-27 16:56 被阅读0次
# 快速排序
alist = [2,1,4,66,54,78]

def quick_sort(alist, start, end):
    if start>=end:
        return
    low = start
    high = end
    mid = alist[start]
    while low < high:
        while low<high and alist[high]>=mid:
            high -= 1
        alist[low] = alist[high]
        while low<high and alist[low]<=mid:
            low += 1
        alist[high] = alist[low]
    alist[low] = mid    
    quick_sort(alist, start, low-1)
    quick_sort(alist, low +1, end)

quick_sort(alist, 0, len(alist)-1)
print(alist)

相关文章

  • 2020-08-21 算法合集

    1. 冒泡排序 2.选择排序 3. 插入排序 4. 希尔排序 5. 归并排序(递归实现) 6. 快速排序(递归实现...

  • 三大排序算法

    归并排序[稳定的排序算法] 递归实现 非递归实现 快速排序[不稳定的排序算法] 堆排序[不稳定的排序算法]

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

  • 3快速排序算法(Java语言)

    1.快速排序的特点: 1.分组,递归 2.代码实现: main方法: 排序方法...

  • 快速排序&快速排序与归并排序的对比

    快速排序算法 快速排序算法是从上到下解决问题使用递归实现,通过巧妙的方式,实现原地排序 分析时间复杂度O(nlog...

  • 看图说话排序算法之冒泡排序

    排序算法的种类非常多,这里总结冒泡排序和对冒泡排序的改进---快速排序的循环实现和递归实现。 一丶冒泡排序 假设待...

  • 快速排序的递归和非递归实现

    排序算法中很重要的快速排序 递归实现方式 递归实现方式的不同在于分区函数的不同 双向循环指针式,原理是利用左右指针...

  • 递归实现快速排序

    1,判断列表长度,如果只有1个元素或者是空列表,直接原样返回2,取列表的第一个元素为参照物,遍历列表的其余每一个元...

  • 快速排序(递归实现)

  • 快速排序-递归实现

    ** * 快速排序 * */ public class QuickSortTest { public static...

网友评论

      本文标题:快速排序(递归实现)

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