快速排序法 python实现

标签: python
0人阅读 评论(0) 收藏 举报
分类:

首轮排序,flag是标准,小 就是比标准小,大就是比标准大,l[i],l[j]

小,小,小,l[i](小),大,大,大,l[j],...

l[i]=l[i+1]变大,然后和l[j]交换

l=[1,3,2,7,5,6,3,9,4,6]
def fist_sort(l):
    flag=l[-1]
    i=-1
    for j in range(len(l)-1):
        if l[j]>flag:  #j比i早,按照步长1在递增,如果跳过比标记位大的就保留在l[i]右边
            pass
        else:
            i+=1    #如果判断遇到比标记位小,此时调换前i已经+1,l[i]是属于右边的大数的,调换l[i]和l[j],大小数交换
            temp=l[i]
            l[i]=l[j]
            l[j]=temp
    print(l)  #第一轮排序已经结束
    temp=l[-1]   #i+1就是中间位
    l[-1]=l[i+1]
    l[i+1]=temp
    return i+1
fist_sort(l)

首轮解决后就可以开始递归


查看评论

Python实现微信自动化

-
  • 1970年01月01日 08:00

Python实现快速排序算法

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n l...
  • ws_cs_dn
  • ws_cs_dn
  • 2014-09-01 16:07:37
  • 2457

Python实现快速排序

用Python写了一个快速排序。简单练习一下
  • ACE_J
  • ACE_J
  • 2014-06-22 19:50:52
  • 5606

快速排序的四种python实现

快速排序算法,简称快排,是最实用的排序算法,没有之一,各大语言标准库的排序函数也基本都是基于快排实现的 本文用python语言介绍四种不同的快排实现 1. 一行代码实现的简洁版本 quick_sor...
  • razor87
  • razor87
  • 2017-05-04 15:30:26
  • 5003

快速排序的实现--挖坑法

//*********************挖坑法(快排的一种实现方式)************************ int PartSort(int *a, intleft, int...
  • asd7486
  • asd7486
  • 2016-07-03 21:03:11
  • 858

尝试使用python实现快速排序算法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • python613
  • python613
  • 2017-02-01 22:38:44
  • 1076

快速排序quick_sort(python的两种实现方式)

排序算法有很多,目前最好的是quick_sort:unstable,spatial complexity is nlogN. 快速排序原理python实现严蔚敏的 datastruct书中有伪代码实现...
  • longshenlmj
  • longshenlmj
  • 2016-06-08 15:41:39
  • 8557

学过的算法中最快捷——快速排序法

上次总结了其他的三种算法:选择排序、冒泡排序和插入排序,这次总结一个更加高效的排序算法——快速排序法,如果想要了解其余三种算法,请移步c#版选择法、冒泡法、插入法和快速排序法分析与对比...
  • cd18333612683
  • cd18333612683
  • 2016-05-15 20:24:01
  • 1584

“挖坑填坑”理解快速排序

快速排序的基本思路:找一个基准元素,对数组进行调整,调整的标准是,这个基准元素的左边存放的都是比这个元素小的,右边都是比这个元素大的。然后分而治之,对左右两边的子数组利用同样的规则调整,调整到每一个子...
  • N_sev7
  • N_sev7
  • 2017-09-21 21:27:01
  • 291

快速排序之挖坑填补法

快速排序
  • sunshine_505
  • sunshine_505
  • 2017-06-24 18:09:13
  • 230
    个人资料
    等级:
    访问量: 83
    积分: 22
    排名: 234万+
    文章存档