两个数组的就地合并

alg*_*eks 18 algorithm

我们有一个大小为m + n的数组,其中m个元素按排序顺序存在,第二个数组大小为n,同样按排序顺序排列.我们希望它们都被排序并存在于第一个数组中.不应该给出第三个数组.

例:

   1, 3, 55, 66, 77, _, _, _ 
   5, 9, 20 
Run Code Online (Sandbox Code Playgroud)

答案是:

   1, 3, 5, 9, 20, 55, 66, 77 
Run Code Online (Sandbox Code Playgroud)

小智 29

进行常规的合并排序,但反过来比较最大的数字,存储(反向)到第一个数组的末尾.这样,您正在合并的元素永远不会被覆盖(如果您暂时考虑它,这很容易看到).

  • 很好的答案."定期合并排序"从您的答案中删除"排序".令人困惑的人. (4认同)