2013-11-23 23 views
1

我有兩個數組按升序,我需要合併以創建一個新的數組也是升序。我有一個辦法,就是將其中一個數組放到新數組中,然後再遍歷第二個數組,並將其中的每個值與新數組中的每個值進行比較,並將其放在正確的位置。這似乎效率不高。8085彙編語言程序從2個其他陣列升序創建一個數組

我也想過比較數組的第一個值,然後比較沒有放入的數組和另一個數組的下一個值。

您如何看待我的想法?有沒有更簡單的方法來做到這一點?

回答

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++