2 回答

TA贡献1836条经验 获得超5个赞
import random
def merge_sort(sequence):
if len(sequence) > 1:
half_sequence = len(sequence) // 2
first_half = sequence[:half_sequence]
second_half = sequence[half_sequence:]
merge_sort(first_half)
merge_sort(second_half)
i = 0
j = 0
k = 0
while i < len(first_half) and j < len(second_half):
if first_half[i] < second_half[j]:
sequence[k] = first_half[i]
i += 1
#print (i)
else:
sequence[k] = second_half[j]
j += 1
k += 1
#print (i)
while i < len(first_half):
sequence[k] = first_half[i]
i += 1
k += 1
while j < len(second_half):
sequence[k] = second_half[j]
j += 1
k += 1
return sequence
def random_list(n):
lista = [0] * n
for i in range(n):
lista[i] = random.randint(0,n)
return lista
print("Random Numbers?:")
n=int(input())
random_num = random_list(n)
print ("Merge Sort: {}".format(random_num))
print(merge_sort(random_num))´´´
合并排序函数没有 return 语句。请返回 。sequence
添加回答
举报