【发布时间】:2017-06-02 00:57:29
【问题描述】:
我尝试在 Python 中实现插入排序:
def insert_sort(list):
y= len(list)
for b in range(1,y):
value = list[b]
a = b-1
while a>= 0:
if list[a] > value:
list[a+1] = list[a]
list[a] = value
a = a -1
else:
break
li = [34, 55, 4, 455, 556, 33, 2, 54, 6, 8, 1]
l= insert_sort(li)
print (l)
但我不知道它是否有效,因为l 总是出现None。怎么了?
【问题讨论】:
-
提示:统计
return语句的数量。 -
这不是你的实际问题,但在 Python 中使用
list作为变量的名称是不好的风格,因为该名称已被内置函数采用。 -
为什么要退货?它修改了作为参数给出的列表,因此您可以打印
li。 -
@Barmar 事实上,这就是为什么内置的
list.sort()没有返回任何东西。 -
@torek 计数 0
标签: python insertion-sort