快速排序是一种排序方法,使用快速排序对n个数字进行排序,在最坏情况下对运算时间为O(n*n)。但是由于平均情况下,运算时间比较低为O(nlgn),并且可以实现就地排序,所以 快速排序是经常用到的比较实用的排序方法。
快速排序使用分治的方法进行排序。对于长度为n的数组A[],快速排序依据数组元素的大小,把小于A[n-1]和大于A[n-1]的部分分为两部分分别排序。采用递归的方法完成排序。其过程如下:
quick_sort(int a[], int p, int r)
if p < r
then
q = partition(a,p,r)
quick_sort(a,p,q-......
阅读全文