STEP 1.1 マージ (merge) Pythonの例

問題

a1[] = {19, 33, 42, 46, 78} 
a2[] = {11, 17, 25, 54, 63}

とするとき、マージ結果は

b[] = {11,17,19,25,33,42,46,54,63,78}

解答例

[Pythonでの記述例]

# ①両方とも要素がある場合は、比較。  
# ② a1しか残っていない場合 ③ a2しか残っていない場合。

def merge (m, n):
   i, j = 0, 0

   while i < m and j < n:
      if a1[i] < a2[j]:
          b.append(a1[i])
          i += 1;
      else:
          b.append(a2[j])
          j += 1;
   return b + a1[i:] + a2[j:]

a1 = [19, 33, 42, 46, 78]
a2 = [11, 17, 25, 54, 63]
b = []

merge (len(a1), len(a2))
print(b)


実行例
[tsuchiya@www python]$ python3 0101.py
[11, 17, 19, 25, 33, 42, 46, 54, 63]