我的选择排序代码有什么问题?
What is wrong with my Selection Sort code?
我的代码如下:
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]
我的范围可能有问题,但我无法弄清楚是什么。帮助?谢谢!
与你的射程无关;那不是选择排序。
尝试用纸笔跟踪您的算法,看看发生了什么。
选择排序应该有两个计数循环:i 的外部循环和 j 的内部循环。我循环遍历除最后一个元素之外的所有元素。 j 循环寻找 (i,j).
中的最小元素
希望对您有所帮助。
我的代码如下:
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]
我的范围可能有问题,但我无法弄清楚是什么。帮助?谢谢!
与你的射程无关;那不是选择排序。
尝试用纸笔跟踪您的算法,看看发生了什么。
选择排序应该有两个计数循环:i 的外部循环和 j 的内部循环。我循环遍历除最后一个元素之外的所有元素。 j 循环寻找 (i,j).
中的最小元素希望对您有所帮助。