【发布时间】:2017-11-03 15:48:44
【问题描述】:
我正在制作合并排序代码,但它没有排序。你看看有什么问题吗?
def mergeSort(L):
if len(L) == 1:
return L
else:
# divide
L1 = mergeSort(L[0:round(len(L)/2)])
L2 = mergeSort(L[round(len(L)/2):len(L)])
# merge
i = 0
j = 0
K = []
while i < len(L1) and j < len(L2):
if L1[i] < L2[j]:
K.append(L1[i])
i=i+1
else:
K.append(L2[j])
j=j+1
return K
输入:
L = [1,2,5,7,8,0,10,21,32,53,16,16,48,59,64,53,75,52,42,21,98,76]
输出:
L = [0]
【问题讨论】:
-
显示给定输入的输出。
-
输入:L = [1,2,5,7,8,0,10,21,32,53,16,16,48,59,64,53,75,52,42 ,21,98,76] 输出:L = [0]
标签: python python-3.x sorting merge mergesort