【发布时间】:2015-02-13 00:18:09
【问题描述】:
我正在尝试编写递归选择排序,我真的很困惑,而且很难追踪为什么这不起作用。如果有人能告诉我问题出在哪里,那就太好了!
这是我的代码
def selectionSortRecursive(lis, minIndex = 0):
if minIndex - 1 == len(lis):
return lis
minValueIndex = minIndex #Assigns the very first item in the list as the minimum value index
for i in range (minIndex + 1, len(lis)):
if lis[i] < lis[minValueIndex]: #if any item is less than min value, its index gets assigned the minimum value
minValueIndex = i
lis[minIndex], lis[minValueIndex] = lis[minValueIndex], lis[minIndex] #After you go through the list, you switch the smallest item into the minimum index, which starts off being 0
lis = selectionSortRecursive(lis, minIndex+1) #now we're gonna sort the list at the next min
return lis
【问题讨论】:
标签: sorting recursion selection-sort