可能重复:
How to sort in-place using the merge sort algorithm?
Regarding in-place merge in an array
给定array
大小N
,它被分为两组排序整数(0 to P
和P+1 to N-1
)。如何使用常量额外空间(O(1)
)和O(n)
时间对此数组进行排序。例如
A = {1,3,5,7,2,4,6,8},这里N = 8,P = 3和 从0到3的元素被排序,从4到7的元素被排序。
期望的O / P:A = {1,2,3,4,5,6,7,8}
答案 0 :(得分:0)
您的输入数组不需要排序。你只需写出数字0..N-1(或1..N你的例子有点令人困惑)。我想你一定是误解了你的问题。
答案 1 :(得分:0)
如果我理解正确,您可以分配一个新数组来保存结果。所以你正在做的是合并两个排序列表。一个简单的双向合并很好地做到了。