【发布时间】:2016-05-17 06:52:12
【问题描述】:
这是我在 Python 中进行插入排序的尝试:
def insert(alis):
for i in range(1,len(alis)):
currel = alis[i]
j = i
while j > 0 and alis[j]<alis[j-1]:
alis[j] = alis[j-1]
alis[j-1]= currel
j=j-1
print (alis)
alis = [3,2,6,2,1,678,23,98]
insert(alis)
这似乎有效,但让我感到困惑的是,说
alis = [4,3,2,1]
在i = 1、alis = [3,4,2,1] 之后。那么当alis[2] 设置为4 时,会不会将currel 的值从2 更改为4?所以你会得到[3,4,4,1]?但这似乎并没有使排序出错。
【问题讨论】:
标签: python algorithm sorting insertion