我有两个按升序排列的数组,我需要组合起来创建一个也按升序排列的新数组。关于这样做的一种方法是将其中一个数组放入新数组中,然后通过第二个数组并将其中的每个值与新数组中的值进行比较并将其放在正确的位置。但这似乎效率低下。
我还考虑过比较数组的第一个值,然后将未输入的值与另一个数组的下一个值进行比较。
您如何看待我的想法?有更简单的方法吗?
答案 0 :(得分: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++