快速排序是一种基于分治的算法,其基本思想是将一个大数组按照一个基准数分成左右两份,左边的部份都不大于基准数,右边的部分都不小于基准数。然后,对这两份再分别应用快速排序,直到分到只剩2个数为止。
快速排序在通常情况下是最快的排序算法,以下是用Python实现的一个例子:
#!/usr/bin/env python # -*-coding: utf8 -*- ''' Quick sort @author: Michael Liao ''' from random import Random def quick_sort(arr): if len(arr) > 1: qsort(arr, 0, len(arr) - 1) def qsort(arr, start, end): base = arr[start] pl = start pr = end while pl