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
相关推荐
青少儿编程课堂1 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:折半搜索优化子集枚举(Meet in the Middle)解析Pniubi25 分钟前
MySQL靠什么实现事务的?事务隔离级别有哪些?松仔log1 小时前
Kotlin中级——callbackFlow知守观2 小时前
同一个团队两套分包:DDD 四层落地后,domain 层最大的类还是 5885 行Oneshot2 小时前
DLX(Dancing Links)算法详解:求解数独最快的算法文丑颜不良啊2 小时前
LeetCode2541~2560题目解析瑞雪兆丰年兮2 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)青少儿编程课堂3 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园连连看解析kongdong3 小时前
Hikyuu | RSI均值回归交易策略实现Highcharts.js3 小时前
Highcharts智能数据分析平台Orbit 多语言配置技术文档