首页 > 编程语言 > 详细

排序算法

时间:2014-10-11 11:45:26      阅读:160      评论:0      收藏:0      [点我收藏+]

    好悲催,住房停电,手机停机。只好来网吧,还没有usb.... 

    还好哥机智的写完一段,马上保存。这破网吧真不靠谱,莫名重启了,竟然...


一、快速排序

    快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

    快速排序,递归实现

def Q(args):
    if args == []:
        return []
    smallList = []
    bigList = []
    middleElement = args[0]
    for i in args[1:]:
        if i <= middleElement:
            smallList.append(i)
        else:
            bigList.append(i)
    return Q(smallList)+[middleElement]+Q(bigList)

print Q([2,3,1,2,1,3,435,6,7,5,8,0,7,9,5,4,6,5,7,6,77])


排序算法

原文:http://my.oschina.net/lpe234/blog/326693

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!