直接插入排序算法的思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。
代码如下:
这里写代码片def insert_sort(a,n):
#a是待排序的数组,n是数组的长度
for i in range(1,n):#将循环从1开始而不是从0开始
if a[i-1]>a[i]:#如果带插入的值小于前面的值,就将带插入的值赋值给t
#j是为了给带插入的元素寻找位置而添加的变量
t=a[i]
j=i-1
while a[j]>t and j>=0:
a[j+1]=a[j]
j-=1
a[j+1]=t#因为在while循环的时候j值已经减了一,所以最后要把这个1加上
a=[3,1,2,6,8,5]
insert_sort(a,len(a))
print(a)