摘要:
算法复习。时间复杂度:平均情况 O(n*log2n)最坏情况 O(n2)最好情况 O(n*log2n)思路:设待排序的数组为a,长度为n,起始i=0,j=n-1。对于每一轮快排:1、从右往左(j--的方向)查找到比key(一般设定为a[0])小的值,然后将a[i]与a[j]交换。2、从左往右(i++的方向)查找比key大的值,将a[i]与a[j]交换。3、一直执行1、2步骤,直到i>j。此时,key的左边为比key小的值,key的右边为比key大的值。然后再分别递归左半边array和右半边array。直到递归的终止条件(i>=j)满足,则停止递归。代码:#include <i 阅读全文