三路排序
每一次排序分为小于,等于,大于三段,对于拥有大量相同值的数据表现更优
实现思路,三个指针,一个指向小于部分的尾后,一个指向大于部分的前置,一个指向当前处理的元素,小于就扔到小于部分,大于就扔到大于部分
但是对于交换回来的小于部分,由于已经是被处理过的,因此是小于等于的,不用再处理。
而对于交换回来的大于部分,还未被处理过,因此需要再处理,i不能++。
三路排序
https://lhish.github.io/project/hide/三路排序/
每一次排序分为小于,等于,大于三段,对于拥有大量相同值的数据表现更优
实现思路,三个指针,一个指向小于部分的尾后,一个指向大于部分的前置,一个指向当前处理的元素,小于就扔到小于部分,大于就扔到大于部分
但是对于交换回来的小于部分,由于已经是被处理过的,因此是小于等于的,不用再处理。
而对于交换回来的大于部分,还未被处理过,因此需要再处理,i不能++。