如何编写合并到位?

时间:2013-04-05 17:01:15

标签: algorithm merge

我们中的许多人都知道mergesort中的merge子例程。在这里,在python中:

def merge(left, right):
    result = []
    i ,j = 0, 0
    while i < len(left) and j < len(right):
        if left[i] <= right[j]:
            result.append(left[i])
            i += 1
        else:
            result.append(right[j])
            j += 1

有没有办法在没有附加数组的情况下编写合并(在这种情况下没有result)?我已经尝试利用字符串$ s = xy =(y ^ Rx ^ R)^ R $(其中R表示反向)这一事实无济于事。

这种就地版本的合并将假设两个输入子阵列是相邻的。 (第一个数组可以来自[i,j],第二个数组可以来自[j,k],用于3个输入索引i,j和k。)

顺便说一下,我愿意使用python以外的语言,比如C ++或Java。

0 个答案:

没有答案
相关问题