使用一些随机数的合并排序不起作用。当我调用对随机数进行排序时,我在终端上获得输出。有什么想法吗?Nonemerge_sort()
输出:随机数?: 20 合并排序: [7, 7, 10, 19, 10, 1, 3, 6, 15, 10, 15, 5, 0, 1, 6, 9, 15, 1, 5, 6] 无
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
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))´´´
繁星淼淼
一只甜甜圈
相关分类