首页 > 代码库 > 排序算法

排序算法

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


排序算法