public static void mergeSort1(int[] arr){
if(arr ==null || arr.length <2){
return;
}
process(arr, 0 , arr.length-1);
}
public static void process(int[] arr ,int L ,int R){
if(L ==R){
return;
}
int mid = L +((R-L)>>1);
process(arr , L , mid);
process(arr , mid+1 , R);
merge(arr , L , mid ,R);
}
public static void merge(int[] arr , int L , int M , int R){
int[] help = new int[R-L+1];
int i =0;
int p1 = L;
int p2 = M+1;
while(p1 <= M && p2 <= R){
help[i++] = arr[p1] <= arr[p2] ? arr[p1++] :arr[p2++];
}
while (p1 <= M){
help[i++] = arr[p1++];;
}
while (p2 <= R){
help[i++] = arr[p2++];;
}
for (i = 0; i < help.length; i++) {
arr[L+i] = help[i];
}
}
归并排序(递归实现)
听风客12024-07-17 20:30
相关推荐
春日见4 分钟前
vscode的AI编程插件推荐:轻刀快马5 分钟前
跨越软硬件的共鸣(二):从 Cache 写策略看 Redis 与 DB 的一致性博弈折哥的程序人生 · 物流技术专研6 分钟前
Java 23 种设计模式:从踩坑到精通 | 装饰器模式 —— 比继承更灵活的扩展方式,你用过吗?blxr_9 分钟前
力扣hot100路径总和Ⅲhttps://leetcode.cn/problems/path-sum-iii/lili001213 分钟前
2026 企业 AI 选型新范式:OpenRouter Fusion 证明多模型融合性价比远超单模型,企业该如何重构技术栈? - 微元算力(weytoken)shushangyun_16 分钟前
汽车服务行业B2B平台+AI解决方案哪家专业:2026年最新测评A.说学逗唱的Coke19 分钟前
【大模型专题】Spring AI Alibaba × Skill 整合实战:让 AI 真正“会干活noipp26 分钟前
【无标题】大黄说说31 分钟前
深入理解 Go 协程 Goroutine:并发编程的核心精髓渡众机器人41 分钟前
第八届全球校园人工智能算法精英大赛-算法应用赛-渡众机器人智能体对抗挑战赛规则