码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法

时间:2014-10-11 12:20:55      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:style   color   ar   for   数据   sp   on   ef   line   

    好悲催,住房停电,手机停机。只好来网吧,还没有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])


排序算法

标签:style   color   ar   for   数据   sp   on   ef   line   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!