两个有序数组合并算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个有序数组合并算法相关的知识,希望对你有一定的参考价值。

有两个有序数组A和B,如果把A和B合并起来到C中,具体算法如下:

public static int [] MergeArray(int[] ArrayLeft, int[] ArrayRight)//
{
  int length = ArrayLeft.Length + ArrayRight.Length;
  int[] ArrayMerge = new int[length];
  int i = 0;
  int j = 0;
  while (i < ArrayLeft.Length && j < ArrayRight.Length)
  {
    if (ArrayLeft[i] > ArrayRight[j])
    {
      ArrayMerge[i + j] = ArrayRight[j];
      j++;
    }
    else
    {
      ArrayMerge[i + j] = ArrayLeft[i];
      i++;
    }
  }
  while (i < ArrayLeft.Length)
  {
    ArrayMerge[i + j] = ArrayLeft[i];
    i++;
  }
  while (j < ArrayRight.Length)
  {
    ArrayMerge[i + j] = ArrayRight[j];
    j++;
  }
  return ArrayMerge;

}

以上是关于两个有序数组合并算法的主要内容,如果未能解决你的问题,请参考以下文章

Python版将两个有序数组合并为一个有序数组

有序数组合并

算法 - 两个有序数组合并成一个有序数组

88. Merge Sorted Arrayleetcode算法,java将两个有序数组合并到一个数组中

小C秋招面试算法题:合并k个有序数组合并k个有序链表(分治思想)

小C秋招面试算法题:合并k个有序数组合并k个有序链表(分治思想)