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
相关推荐
lingran__1 天前
速通ACM省铜第三天 赋源码(Double Perspective和Trip Shopping和Hamiiid, Haaamid... Hamid?)凤城老人1 天前
C++使用拉玛努金公式计算π的值失散131 天前
分布式专题——10.4 ShardingSphere-Proxy服务端分库分表Bellafu6661 天前
spring项目部署后为什么会生成 logback-spring.xml文件递归不收敛1 天前
一、Java 基础入门:从 0 到 1 认识 Java(详细笔记)沐浴露z1 天前
【Java SpringAI智能体开发学习 | 2】SpringAI 实用特性:自定义Advisor,结构化输出,对话记忆持久化,prompt模板,多模态小沈同学呀1 天前
创建一个Spring Boot Starter风格的Basic认证SDK纪元A梦1 天前
贪心算法应用:配送路径优化问题详解码农小伙1 天前
通俗易懂地讲解JAVA的BIO、NIO、AIOC_player_0011 天前
——贪心算法——