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
相关推荐
NHuan^_^18 分钟前
SpringBoot3 整合 SpringAI 实现ai助手(记忆)蚂蚁数据AntData22 分钟前
破解AI“机器味“困境:HeartBench评测实践详解ZC跨境爬虫24 分钟前
Python异步IO详解:原理、应用场景与实战指南(高并发爬虫首选)Mr_Xuhhh33 分钟前
从ArrayList到LinkedList:理解链表,掌握Java集合的另一种选择倦王36 分钟前
力扣日刷47-补错把套路当深情1 小时前
Java 全方向开发技术栈指南han_hanker1 小时前
springboot 一个请求的顺序解释MaCa .BaKa1 小时前
44-校园二手交易系统(小程序)沉鱼.441 小时前
第十三届题目希望永不加班1 小时前
SpringBoot 静态资源访问(图片/JS/CSS)配置详解