package sort; import java.util.Arrays; public class MergeSort { public static void main(String[] args) { int[] arr = {6,4,8,1,5}; int[] temp = new int[5]; mergeSort(arr,0,4,temp); System.out.println(Arrays.toString(arr)); } public static void mergeSort(int[] arr, int left, int right, int[] temp){ if (left < right){//只要不是剩一个元素就不停的拆分数组 int mid = (left + right)/2; mergeSort(arr, left, mid, temp); mergeSort(arr, mid+1, right, temp); merge(arr,left,mid,right,temp); } } //将arr[] 中的 left到mid mid+1到right 这两个数组排序后放入arr left到right public static void merge(int[] arr, int left, int mid, int right, int[] temp) { int i = left; int j = mid + 1; int t = 0; //从小到大放进temp里,直到一个数组放完 while (i<=mid && j<=right){ if (arr[i]欢迎分享,转载请注明来源:内存溢出
Java数据结构《排序算法》归并排序
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
Apache Log4j漏洞学习笔记
上一篇
2022-12-17
Java程序设计 Object类、匿名内部类
下一篇
2022-12-17
评论列表(0条)