我需要在不使用内置sort()的情况下对该列表进行排序。 我想我可以使用插入排序,但我从来没有真正使用过它。 我的代码似乎不起作用。怎么了? 谢谢您。在
fruits = ['grape', 'banana', 'strawberry', 'apple', 'peach', 'cherry']
for i in range(1, len(fruits)):
tmp = fruits[i]
j = i-1;
while (j>0 and fruits[j] > tmp):
fruits[j+1] = fruits[j]
j = j-1
fruits[j+1] = tmp
print(fruits)
我改变了两件事,它起作用了。不完全是为了回答,但可能会帮助你前进。在
可以这样缩小:
^{pr2}$退货:
内部循环中出现的交换操作似乎很奇怪。如果我是个下注的人,我会说这就是出错的地方。在
试着做一个干净的“交换”,就像你对三个变量所做的那样:
你的代码将变成:
^{pr2}$首先用len()替换lens()。在
另一方面,您不能将函数应用于水果数组,而只能声明函数。在
最后,数组从索引0开始,因此j必须大于等于0。在
更正代码:
相关问题 更多 >
编程相关推荐