2 つのリストをマージしようとしていますが、エラーが発生します。誰にもアイデアがありますか?
以下は私のマージ機能です。
def mymerg(container, first_index, mid_index, last_index):
left_list = container[:mid_index]
right_list = container[mid_index:]
i = 0
j = 0
for elem in range(first_index, last_index+1, 1):
if left_list[i] <= right_list[j]:
container[elem] = left_list[i]
i = i + 1
else:
container[elem] = right_list[j]
j = j + 1
そして、これが行 My_Merge_Sort(container, first_index, mid_index) でエラーを生成する私のソート関数です
def mymgsor(container, first_index, last_index):
if first_index < last_index:
mid_index = len(container)//2
mymgsor(container, first_index, mid_index)
mymgsor(container, mid_index+1, last_index)
mymerg(container, first_index, mid_index, last_index)
また、first_index < last_index: RuntimeError: maximum recursion depth exceeded in comparison の場合にも、このエラーが発生します。コードの何が問題になっていますか? 前もって感謝します。
この関数を呼び出すときは、 mymgsor(sample_list, 0, len(sample_list)-1) を使用します