快排图解
基础快排:
将区间分为两部分,小于等于 和 大于
双路快排:
将区间分为两部分,小于等于 和 大于等于,重复元素等概率的分配到这两部分中
三路快排:
三路快排又多加了一个指针,用于将区间分为三部分
二路快排是将与基准值相等的元素,等概率的分配到左右两部分
三路快排则是将与基准值相等的元素,集中在区间的中间部分(紧接小于基准值区间的右边)
arr[left] 基准值
arr[left + 1, lt] 小于基准值的区间
arr[lt+1, i - 1] 等于基准值的区间
arr[i, gt - 1] 暂未被遍历的区间
arr[gt, right] 大于基准值的区间