重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了java如何合并有序数组,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
成都创新互联公司专注于企业成都营销网站建设、网站重做改版、福田网站定制设计、自适应品牌网站建设、H5响应式网站、商城建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为福田等各大城市提供网站开发制作服务。
我们先来看看原题目:
/** * ClassName: MergeSortArray
* Function: 合并有序数组
* [1, 2, 2, 5] * [3, 4, 7, 8, 9] * * */
思路分析:
双指针移动从前往后的比较,然后把剩余的数据再复制到合并数组里,其实这也是归并排序的最核心的代码,归并排序(先拆分后合并)分而治之中治的环节。
实现代码:
public static int[] mergeSortArray(int[] a, int[] b){ int length2 = a.length, length3 = b.length; int[] merge = new int[length2 + length3]; int i = 0, j = 0, k = 0; while(i < length2 && j < length3){ if(a[i] <= b[j]){ merge[k++] = a[i++]; }else{ merge[k++] = b[j++]; } } while(i < length2){ merge[k++] = a[i++]; } while(j < length3){ merge[k++] = b[j++]; } return merge; } public static void main(String[] args) { int[] a = {1, 2, 2, 5}; int[] b = {3, 4, 7, 8, 9}; int[] merge = mergeSortArray(a, b); for(int i = 0; i < merge.length; i++){ System.out.println(merge[i]); } }
运行结果:
1 2 2 3 4 5 7 8 9
感谢你能够认真阅读完这篇文章,希望小编分享java如何合并有序数组内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!