1
我有兩個數組按升序,我需要合併以創建一個新的數組也是升序。我有一個辦法,就是將其中一個數組放到新數組中,然後再遍歷第二個數組,並將其中的每個值與新數組中的每個值進行比較,並將其放在正確的位置。這似乎效率不高。8085彙編語言程序從2個其他陣列升序創建一個數組
我也想過比較數組的第一個值,然後比較沒有放入的數組和另一個數組的下一個值。
您如何看待我的想法?有沒有更簡單的方法來做到這一點?
我有兩個數組按升序,我需要合併以創建一個新的數組也是升序。我有一個辦法,就是將其中一個數組放到新數組中,然後再遍歷第二個數組,並將其中的每個值與新數組中的每個值進行比較,並將其放在正確的位置。這似乎效率不高。8085彙編語言程序從2個其他陣列升序創建一個數組
我也想過比較數組的第一個值,然後比較沒有放入的數組和另一個數組的下一個值。
您如何看待我的想法?有沒有更簡單的方法來做到這一點?
我認爲要做到這一點最簡單的方法是具有每個陣列的一個指標:
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++