問題
- 2つの配列データa1とa2を、配列データbへマージせよ
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]