1

我有两个按升序排列的数组,我需要将它们组合起来以创建一个同样按升序排列的新数组。我这样做的一种方法是将其中一个数组放入新数组中,然后遍历第二个数组并将其中的每个值与新数组中的值进行比较并将其放在正确的位置。不过,这似乎效率低下。

我还考虑过比较数组的第一个值,然后将没有放入的值与另一个数组的下一个值进行比较。

你觉得我的想法怎么样?有没有更简单的方法来做到这一点?

4

1 回答 1

0

我认为最简单的方法是为每个数组设置一个索引:

while(index_result < array_result_length)
    if (index1 < array1_length)
        if (index2 < array2_length)
            if (array1[index1] < array2[index2])
                array_result[index_result] = array1[index1]
                index1++
            else
                array_result[index_result] = array2[index2]
                index2++
        else
            array_result[index_result] = array1[index1]
            index1++
    else
         array_result[index_result] = array2[index2]
         index2++         
    index_result++
于 2013-11-23T20:56:34.730 回答