我试着用python实现插入排序。我试图理解它背后的逻辑,并实现了它,它最终证明了我是一个排序列表,但我怀疑它是否严格地使用了插入排序。有人能确认这真的是插入排序吗?如果我听起来很傻,很抱歉。
u = [1,43,2,312,3,124,6,6]
for i in range(len(u)):
for j in range(i,0,-1):
if u[j] < u[j-1]:
u[j-1],u[j] = u[j],u[j-1]
print(u)我得到的答案是1,2,3,6,6,43,124,312
发布于 2020-11-15 18:12:57
不,这是一种冒泡排序。
在这里,元素爬行到最终位置,与每个迎面而来的元素进行交换。
在插入排序中,你提取元素,找到它的位置,移动整个元素范围,然后把元素放到最后的位置。因此,插入排序执行移位,即“半交换”。
https://stackoverflow.com/questions/64843159
复制相似问题