归并排序--JAVA代码实现
来源:互联网 发布:迈网络摄像头默认ip 编辑:程序博客网 时间:2024/06/06 08:57
归并排序流程:
实现代码:
import java.util.Arrays;public class MergeSort { public static int[] mergeSort(int[] arr,int n) { if (arr == null || arr.length < 2) { return arr; } process(arr, 0, n - 1); return arr; } public static void process(int[] arr, int left, int right) { if (left == right) { return; } int mid = (left + right) / 2; process(arr, left, mid);//分解 process(arr, mid + 1, right); merge(arr, left, mid, right);//归并 } public static void merge(int[] arr, int left, int mid, int right) { int[] help = new int[right - left + 1]; int l = left; int r = mid + 1; int index = 0; while (l <= mid && r <= right) { if (arr[l] <= arr[r]) { help[index++] = arr[l++]; } else { help[index++] = arr[r++]; } } while (l <= mid) { help[index++] = arr[l++]; } while (r <= right) { help[index++] = arr[r++]; } for (int i = 0; i < help.length; i++) { arr[left + i] = help[i]; } } public static void main(String[] args) { int[] arr = {5,6,1,2,3,4,7,8}; arr = mergeSort(arr, arr.length); System.out.println(Arrays.toString(arr)); }}
阅读全文
5 0
- 归并排序--JAVA代码实现
- 归并排序代码实现
- 归并排序代码实现
- 快速排序,归并排序,堆排序的java代码实现
- Java实现常见排序--希尔排序、快排序、堆排序、归并排序等Java实现代码
- 归并排序Java实现
- Java实现归并排序
- Java实现归并排序
- 归并排序Java实现
- 归并排序JAVA实现
- java实现归并排序
- 归并排序(java实现)
- 归并排序java实现
- Java实现归并排序
- 归并排序 java实现
- 归并排序Java实现
- 归并排序java实现
- Java实现归并排序
- IOS UIScrollView实现自动轮播图功能
- 浅析Linux命令之grep
- Hadoop 及 Hive 压缩应用
- 动脑学院笔记
- jQuery基础
- 归并排序--JAVA代码实现
- SWOT分析和PEST分析
- 理解c#中的闭包
- 洛谷P1141 01迷宫
- Ubuntu14.04安装CPU版SSD(Single Shot MultiBox Detector)/Caffe版本(一)
- corejava_OOP
- 学习笔记| AS入门(五) 高级控件篇(中)
- hbase集群安装配置
- Unity18--鼠标和场景相反运动、物体绕过障碍物,向目标自动移动,且鼠标点击哪里,物体也运动