合并排序的数组

时间:2011-05-04 15:27:30

标签: arrays algorithm

我们有两个排序的数组。在不使用额外内存的情况下,我们需要合并这两个数组(第二个数组有更多的空间用于合并)。输出应通过第二个数组返回

1 个答案:

答案 0 :(得分:7)

假设附加空间位于第二个数组的末尾,只需从数组的末尾开始合并。使用指向数组中当前位置的两个索引i1i2以及指向合并数组中当前位置的索引i

  1. 初始化ii1i2以指向相应数组的最后一项。

  2. 迭代:将a1[i1]a2[i2]的最大值写入a2[i]并调整索引(即减少i和保持更大的数组的索引值)。