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 天前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?2501_906565121 天前
数学之美探究oier_Asad.Chen1 天前
【洛谷题解/AcWing题解/OI学习笔记】洛谷P2868【USACO07DEC】Sightseeing Cows G(01分数规划求最大比率)cfm_29141 天前
SpringAI + Ollama 本地大模型鲸采云SRM采购管理系统1 天前
采购管理系统哪家好?2026最新测评对比leisoo80971 天前
财报数据怎么排雷本地化Python构建财务异常预警系统0x531 天前
Java网络编程(二)Flittly1 天前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战Poo_Chai1 天前
QT emit信号后完整处理流程,包括槽函数响应流程瑞码空间1 天前
Java 图形界面(GUI)完整知识点手册