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
相关推荐
shuoshuohaohao3 小时前
MyBatis 小知识点海上小飞龙4 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒青少儿编程课堂4 小时前
后缀自动机解析:本质不同子串与最长重复片段统计朝朝辞暮i4 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期谢亮_vipxieliang5 小时前
泛型擦除、通配符与 PECS 一次讲透八解毒剂5 小时前
【计组】中央处理器CPU乐迪信息5 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法打工仔折腾 AI6 小时前
工业场景下时序库与实时计算一体化架构选型实践对比ZealSinger6 小时前
Java虚拟线程上线后瓶颈转移到哪看三层2601_961133286 小时前
盘立方软件指标文华期货公式下载