递归
import random
def insert_sort(A,n):
if n==0:
return
insert_sort(A,n-1) #把前n-1个排好
j=n
while j>0 and A[j]<A[j-1]: #把A[n]插入到合适的位置
A[j],A[j-1]=A[j-1],A[j]
j-=1
return A
if __name__=="__main__":
A=[random.randint(1,1000) for i in range(10)]
print(insert_sort(A,9))
循环
import random
def insert_sort(A):
lent=len(A)
for i in range(1,lent): #0~i-1均视为已排序
j=i
print(j)
while A[j]<A[j-1] and j>0:
A[j-1],A[j]=A[j],A[j-1]
j-=1
print(A)
return A
if __name__=="__main__":
A=[random.randint(1,1000) for i in range(10)]
print(A)
print(insert_sort(A))