我的代码如下:
def selection_Sort(aList):
i = 0
for j in range(1, len(aList)-1):
while aList[j] < aList[i]:
aList[i], aList[j] = aList[j], aList[i]
i += 1
return aList
aList = [5,2,3,7,6]
print(selection_Sort(aList))
然而,它打印出来:[2,3,5,7,6]
我的射程可能有问题,但我无法弄清楚是什么。救命?谢谢!
答案 0 :(得分:0)
它与你的范围无关;这不是一种选择。
尝试使用纸和笔在您的算法中进行追踪,看看发生了什么。
选择排序应该有两个计数循环:i为外部,j为内部。我遍历除最后一个元素之外的所有元素。 j循环找到(i,j]中的最小元素。
希望这有帮助。