什么是快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
快速排序的思想
选取一个元素做为关键数据(一般选择第一个元素),然后将所有比他小的数都放在他前面,所有大于等于他的数都放到他的后边,作为一个快速排序的过程。
快速排序过程
代码
def quicksort(l,start,end):
left = start
right = end
if left < right:
key = l[left]
while left < right:
while left < right and l[right] >= key:
right -= 1
l[left],l[right] = l[right],l[left]
while left < right and l[left] <= key:
left += 1
l[left],l[right] = l[right],l[left]
quicksort(l,start,left-1)
quicksort(l,right+1,end)
return l