21xrx.com
2024-11-22 09:43:00 Friday
登录
文章检索 我的文章 写文章
JAVA实现合并有序数组的函数
2023-06-15 06:43:18 深夜i     --     --
JAVA 合并 有序数组

在开发中,我们有时需要将两个有序数组合并成一个有序数组。这时我们可以写一个函数来实现。

代码如下:


public int[] merge(int[] nums1, int m, int[] nums2, int n) {

  int i = m - 1, j = n - 1, k = m + n - 1;

  while (i >= 0 && j >= 0) {

    if (nums1[i] > nums2[j]) {

      nums1[k--] = nums1[i--];

    } else {

      nums1[k--] = nums2[j--];

    }

  }

  while (j >= 0) {

    nums1[k--] = nums2[j--];

  }

  return nums1;

}

函数的参数分别为两个数组及其长度。在函数中,我们用三个指针来记录数组的位置,从最后一个元素开始比较,将比较结果存入合并后的数组中。

其中,i、j 指向当前数组的最后一个元素,k 指向合并后数组的最后一个空位。

最后,如果 j 还没有被遍历完,即 nums2 中有比 nums1 中还小的元素,我们将其放到 nums1 前面。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复