私はPythonが初めてで、Pythonでmerge_sortを実装しようとしています。これが私のコードです。しかし無限ループに陥ります。誰でも理由を指摘できますか?ありがとう
def merge_sort(a):
'''implement merge sort for array'''
l = len(a)
if l == 1:
return a[0]
a1 = merge_sort(a[:l/2-1])
a2 = merge_sort(a[l/2:-1])
a_sort = []
idx1, idx2 = 0, 0
#for i in range(l):
if idx1 == len(a1):
a_sort.append(a2[idx2:])
import ipdb; ipdb.set_trace()
return a_sort
elif idx2 == len(a2):
a_sort.append(a1[idx1:])
return a_sort
else:
if a1[idx1] >= a2[idx2]:
a_sort.append(a2[idx2])
idx2 += 1
else:
a_sort.append(a1[idx1])
idx1 += 1