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
相关推荐
Flynt28 分钟前
把公司项目迁到 Spring Boot 4.0:编译通过只是开始2601_9657422234 分钟前
全媒体运营与短视频代运营,两者有什么区别?Tangyuewei1 小时前
给老 Spring 项目装个 AI Agent她的男孩1 小时前
多租户和数据权限怎么共存?扒完拦截器注册链路,我找到 4 个隐蔽的坑wordbaby2 小时前
混合检索:两全其美的艺术小溪学编程2 小时前
Java BufferedReader 详解:从基础用法到性能优化彧azz2 小时前
数据结构:关于图的学习HZero.chen2 小时前
Java 匿名类简介热心网友俣先生2 小时前
A题-药材的烘干问题-题意逐句翻译用户3126874877202 小时前
Java 泛型擦除到底擦掉了什么?类型安全与桥接方法深度拆解