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
相关推荐
土司大王7 小时前
LeetCode hot100——对称二叉树sali-tec7 小时前
C# 基于OpenCv的视觉工作流-章106-差值追踪Navigator_Z7 小时前
LeetCode //C - 1208. Get Equal Substrings Within Budget手写码匠8 小时前
Dify 多 Agent 工具权限与安全沙箱实战:让智能体“有能力,但不越权“黎阳之光8 小时前
打破堆场感知黑盒:黎阳之光视频孪生,构建港口码头网格化透明管控新体系丘山一郎8 小时前
Spring 中的IOC控制反转 和DI依赖注入码视野8 小时前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)MetaLite8 小时前
Spring-AOP自调用为什么失效-AopContext真能解决吗大模型码小白8 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地许彰午9 小时前
14-字段级SM4加密与SM2签名