Mình đang viết chương trình cho thuật toán sắp xếp trộn bằng python bị lỗi “list index out of range”. Có ai biết chỉ giúp mình cách fix được ko ạ
def merge(arr, left, mid, right):
i = left
j = mid+1
temp = []
n = len(arr)
while ((i<=mid) and (j<=right)):
if (arr[i]<=arr[j]):
temp.append(arr[i])
i+=1
else:
temp.append(arr[j])
j+=1
if (i<=mid):
temp.extend(arr[i:mid])
if (j<=right):
temp.extend(arr[j:right])
for x in range(n):
arr[x]=temp[x]
def mergesort(arr, left, right):
if (left<right):
mid = int((left+right)/2)
mergesort(arr, left, mid)
mergesort(arr, mid+1, right)
merge(arr, left, mid, right)
arr = [9, 8, 10, 8, 11]
mergesort(arr, 0, len(arr)-1)
print(arr)