8085 Ассемблер Языковая программа для создания массива в порядке возрастания из 2 других массивов
У меня есть два массива в порядке возрастания, которые мне нужно объединить, чтобы создать новый массив, также в порядке возрастания. Один из способов сделать это - поместить один из массивов в новый, а затем пройти через второй массив и сравнить все значения в нем с значениями в новом массиве и поместить его в нужное место. Это кажется неэффективным, хотя.
Я также думал о том, чтобы сравнить первые значения массива, а затем сравнить то, которое не вставлено, со следующим значением другого массива.
Что вы думаете о моих идеях? Есть ли более простой способ сделать это?
1 ответ
Я думаю, что самый простой способ сделать это - иметь один индекс для каждого из массивов:
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++