011-合并两个有序数组

011-合并两个有序数组,第1张

将两个已经排好序的数据 合并成一个排好序的数组

(1)使用Java特定的函数
//m表示的num1的数组长度 n表示的是num2的数组长度
 public static int []merge(int []num1,int m,int []num2,int n){
 //要复制的数组  开始位置  复制到那个数组中 从那个位置开始  复制多少个元素
       System.arraycopy(num2,0,num1,m,n);
       Arrays.sort(num1);
       return num1;
    }
(2)使用双指针法进行遍历比较后排序
public static int []merge1(int []num1,int m,int []num2 ,int n)
    {
        int []array = new int [m+n];
        int k =0,i=0,j=0;
        while(i<m&&j<n)
        {
            if(num1[i]<num2[j])
                array[k++]=num1[i++];
            else
                array[k++] = num2[j++];
        }
        while(i<m)
            array[k++] = num1[i++];
        while(j<n)
            array[k++]=num1[j++];
        return array;
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/874324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存