1

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) を使用します

4

1 に答える 1