java算法专题-归并排序
来源:互联网 发布:书生商务软件怎么用 编辑:程序博客网 时间:2024/05/21 07:06
归并的思想就是分治.
- public class Test1 {
- public static void main(String[] args) {
- int[] arr1 = { 4,23,234,3,41,311,3,5 ,56,5,46};
- int[] arr2 = { 4,23,234,3,41,311,3,5 ,56,5,46};
- Test1 test1 = new Test1();
- test1.splitAndMerger(arr1, 0, arr1.length-1);
- test1.printArray(arr1);
- test1.printArray(arr2) ;
- Arrays.sort(arr2) ;
- test1.printArray(arr2) ;
- }
- public void splitAndMerger(int[] ints, int begin, int end) {
- int mid = (begin + end) / 2;
- if (end > begin) {
- splitAndMerger(ints, begin, mid);
- splitAndMerger(ints, mid + 1, end);
- merger(ints, begin, mid, end);
- }
- }
- public void merger(int[] ints, int begin, int mid, int end) {
- int temp1 = 0;
- int temp2 = 0;
- int[] arr1 = Arrays.copyOfRange(ints, begin, mid+1);
- int[] arr2 = Arrays.copyOfRange(ints, mid+1, end+1);
- for (int i = begin; i <= end; i++) {
- if (temp1 == arr1.length && temp2 == arr2.length) {
- break;
- }
- if (temp1 == arr1.length) {
- ints[i] = arr2[temp2];
- temp2++;
- continue;
- }
- if (temp2 == arr2.length) {
- ints[i] = arr1[temp1];
- temp1++;
- continue;
- }
- if (arr1[temp1] > arr2[temp2]) {
- ints[i] = arr2[temp2];
- temp2++;
- } else {
- ints[i] = arr1[temp1];
- temp1++;
- }
- }
- }
- public void printArray(int[] array) {
- this.printArray(array, 0, array.length-1);
- }
- public void printArray(int[] array, int begin, int end) {
- for (int i = begin; i <= end; i++) {
- System.out.print(array[i] + " ");
- }
- System.out.println();
- }
- }
- java算法专题-归并排序
- java归并排序算法
- JAVA归并排序算法
- Java算法 归并排序
- Java归并排序算法
- 归并排序算法--Java
- java专题——归并排序
- Java排序算法 归并排序
- java排序算法---归并排序
- Java排序算法:归并排序
- JAVA排序算法---归并排序
- Java排序算法--归并排序
- Java 排序算法-归并排序
- 【专题】归并排序
- Java排序算法---->归并排序算法
- 归并排序算法Java详解
- java实现归并排序算法
- Java归并排序算法实现
- FSBII(七)class CThread
- 黑马程序员-WinForm入门
- 约瑟夫 问题
- http://acm.hdu.edu.cn/showproblem.php?pid=2845&&最大不连续数和
- iis 发布报表服务
- java算法专题-归并排序
- VMWare组网模式
- 《Computer Networks (fifth edition)》第六章学习小结
- hooklogger 使用方法
- 什么是A记录?什么是别名记录(CNAME)?什么是MX记录?什么是NS记录?
- PowerBuilder 双击datawindow列标题排序
- 【创新基金项目可行性报告】如何写项目可行性报告/项目申报文档
- 学计算机网络对DHCP的思考
- 一个关键字标红的通用类