「排序算法」—图解双轴快排( 二 )
收尾工作在执行完这一趟即k=right之后 , 即开始需要将pivot1和pivot2的数值进行交换
swap(arr, start, left);swap(arr, end, right);
文章插图
然后三个区间根据编号递归执行排序函数即可 。
双轴快排代码在这里 , 分享下个人实现双轴快排的代码:
import java.util.Arrays;public class 双轴快排 {public static void main(String[] args) {int a[]= {7,3,5,4,8,5,6,55,4,333,44,7,885,23,6,44};dualPivotQuickSort(a,0,a.length-1);System.out.println(Arrays.toString(a));}private static void dualPivotQuickSort(int[] arr, int start, int end) {if(start>end)return;//参数不对直接返回if(arr[start]>arr[end])swap(arr, start, end);int pivot1=arr[start],pivot2=arr[end];//储存最左侧和最右侧的值//(start , left]:左侧小于等于pivot1 [right,end)大于pivot2int left=start,right=end,k=left+1;while (k执行结果为:
文章插图
最后给大家准备一波资料私信回复bigsai免费领取哦 。
文章插图
好啦 , 到这里双轴快排就实现完成啦 。 至于算法分析 , 希望在评论区和你们讨论哦!
原创不易 , 欢迎关注、点赞、转发、收藏 , 您的支持是我创作的不断动力 。
- 逛逛|淘宝内容化再升级:“买家秀”变身“逛逛”试图冲破算法局限
- 合并|Andre Cronje主导批量「合并」DeFi项目,是好事情吗?
- mini|电影、mini 与「当日完稿」工作流
- 算法|【远见】个人信息保护法将出台 揭开数据算法的神秘“面纱”
- 字化转型|疫情重构经济,传统企业「数字化」的通关密码是什么?
- iPhone12|iPhone12「超大杯」拍照解禁:与Pro拉不开差距
- 供应链|一座快手「重镇」的货端升级
- 项目|DeFi「分叉运动」退潮,我们能从中学到什么?
- 纪念版|「同价选机」K30至尊纪念版 vs Note9 Pro,选谁
- 文案|「热点传递」为什么别人卖点写的“勾人”?
