package day12;
import java.util.Arrays;
public class mergesort {
// 归并排序
// 分(递归) 治 思想
public static void main(String[] args) {
int[] arr={8,4,5,7,1,3,6,2};
int[] temp =new int[arr.length];
fenjie(arr,0, arr.length-1,temp);
System.out.println(Arrays.toString(arr));
}
//-------------------------------------------分解-----------------------------------------------------------------
public static void fenjie(int[] arr,int left,int right,int[] temp){
if (left<right){
int mid=(left+right)/2;//中间索引
// 向左递归分解
fenjie(arr,left,mid,temp); //通过mid值来分解数组arr,
// left right
// (1)0 7
// (2)0 3
// (3)0 1
// (4)0 0
// 向右递归分解
System.out.println("左边");
fenjie(arr,mid+1,right,temp);
归并排序算法(递归)
最新推荐文章于 2023-09-21 12:55:53 发布