Java中怎样合并有序数组,方法是什么?
导读:这篇文章我们来了解Java中怎样合并有序数组,对于有序数组的合并我们需要考虑顺序的问题,因此和一般的数组合并存在区别。下文给大家分介绍了实现思路及方法,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!我们先来看看原题目:/** *...
这篇文章我们来了解Java中怎样合并有序数组,对于有序数组的合并我们需要考虑顺序的问题,因此和一般的数组合并存在区别。下文给大家分介绍了实现思路及方法,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
我们先来看看原题目:
/** * ClassName: MergeSortArray br/> * Function: 合并有序数组br/> * [1, 2, 2, 5] * [3, 4, 7, 8, 9] * * */
思路分析:
双指针移动从前往后的比较,然后把剩余的数据再复制到合并数组里,其实这也是归并排序的最核心的代码,归并排序(先拆分后合并)分而治之中治的环节。
实现代码:
public static int[] mergeSortArray(int[] a, int[] b){ int length1 = a.length, length2 = b.length; int[] merge = new int[length1 + length2]; int i = 0, j = 0, k = 0; while(i length1 & & j length2){ if(a[i] = b[j]){ merge[k++] = a[i++]; } else{ merge[k++] = b[j++]; } } while(i length1){ merge[k++] = a[i++]; } while(j length2){ 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中怎样合并有序数组的介绍,上述示例具有一定的参考价值,有需要的朋友可以了解看看,希望对大家学习Java数组合并有帮助,想要了解更多可以继续浏览网络其他相关的文章。
文本转载自PHP中文网
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Java中怎样合并有序数组,方法是什么?
本文地址: https://pptw.com/jishu/655201.html