首页后端开发其他后端知识Java中怎样合并有序数组,方法是什么?

Java中怎样合并有序数组,方法是什么?

时间2024-03-28 21:12:03发布访客分类其他后端知识浏览886
导读:这篇文章我们来了解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
HTML中怎样创建下拉列表,用什么方法? Java怎样给图片加图片和文字水印,有哪些方法?

游客 回复需填写必要信息