博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法系列<归并排序>
阅读量:6709 次
发布时间:2019-06-25

本文共 1162 字,大约阅读时间需要 3 分钟。

归并两个已排序的数组序列,归并之后的数组序列还是有序的

用java实现如下:

/**     * 归并排序:归并两个已排序(升序)的数组,归并之后是已排序的     * 最好时间复杂度:O(N),最坏时间复杂度:O(NlogN),平均时间复杂度:O(NlogN),空间复杂度:O(N)     * 测试case:     * {},{}     * {},{1,2,3}     * {1,2,3},{}     * {1,2,3},{4,5,6}     * {4,5,6},{1,2,3}     * {12,34,45},{3,8,96}     * @param table1 已升序排序的数组1     * @param table2 已升序排序的数组2     * @return     */    public static int[] mergeSort(int[] table1,int[] table2){        if(table1.length>0||table2.length>0) {            int[] table = new int[table1.length + table2.length];            for (int index = 0, i = 0, j = 0; index < table.length; index++) {                if (i >= table1.length) {                    table[index++] = table2[j++];                } else if (j >= table2.length) {                    table[index++] = table1[i++];                } else if (table1[i] < table2[j]) {                    table[index] = table1[i];                    i++;                } else {                    table[index] = table2[j];                    j++;                }            }            return table;        }else{            return null;        }    }

 

转载于:https://www.cnblogs.com/zhaijing/p/9774688.html

你可能感兴趣的文章
Firefly官方教程之Netconnect使用文档
查看>>
玉堂春_百度百科
查看>>
Unity3D脚本中文系列教程(五)
查看>>
Win7 如何访问XP系统里的网上邻居?
查看>>
怎么设置环境变量
查看>>
Mac 可设置环境变量的位置、查看和添加PATH环境变量
查看>>
使用python向Redis批量导入数据
查看>>
又一道软通动力7K月薪面试题——银行业务调度系统
查看>>
Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结
查看>>
Struts ActionForm简单理解
查看>>
【JavaScript】前端开发框架三剑客—AngularJS VS. Backone.js VS.Ember.js
查看>>
openstack API debug OpenstackEveryProject_CLI,curl_based
查看>>
PMBOK摘要
查看>>
【Cocos2d-x】源代码分析之 2d/ui/Widget
查看>>
CSS 实现加载动画之四-圆点旋转
查看>>
Redis多机功能之复制
查看>>
Python continue
查看>>
使用CocoaPods出现 The `master` repo requires CocoaPods 0.32.1 - 问题解决
查看>>
C++中的explicitkeyword
查看>>
Android -- Fragment注意事项
查看>>