下面的代码没有遍历列表并对列表进行排序。我应该如何调整它,使其在看起来有点相同的情况下工作呢?我尝试了多种方法,但都没有成功。哦,还有,我知道选择排序快捷方式,sort()函数,但我还想学习如何编写函数、程序和进程的代码。谢谢
def sortList(L,n):
minValue = L[0]
L2 = []
idx = 0
counter = 0
while (counter < n):
v = L[counter]
if v < minValue:
minValue = v
idx = counter
L2.append(minValue)
del L[idx]
n-=1
counter += 1
return L2
L = [34, -1, 0, 89, 21, -40, 7]
n = len(L)
print(sortList(L, n))
您可以实现插入排序:
或者,您可以实现选择排序:
您的代码不遵循选择排序逻辑(有两个主要错误:选择排序不使用辅助排列,如L2;您尚未更改当前(L[counter])和较低值(L[minValueIndex])变量的值。尝试在方法行上使用print来理解算法的逻辑错误
我强烈建议使用嵌套循环,因为它更容易,但我决定尝试一下
相关问题 更多 >
编程相关推荐