数据结构-6.简单算法python实现:插入排序insert_sort

python3.5  

最优时间复杂度:n

最坏时间复杂度:n²

稳定性:稳定

1.插入排序思想:

将一个数组,把第一个元素当做一个有序数组,后面的数组当做无序数组,从第二个元素开始,与第一个元素进行比较,若小于第一个元素,则交换位置,从有序数组的右往左比较,遇到小于的就进行交换.

 

2.python代码实现

def insert_sort(alist):
    # 从第二个位置下标为1的位置开始插入
    for i in range(1,len(alist)):
        for j in range(i,0,-1):
            if alist[j]<alist[j-1]:
                alist[j],alist[j-1]=alist[j-1],alist[j]
    return alist
if __name__=='__main__':
    li = [17, 20, 31, 26, 44, 54, 55, 77, 93]

    value=insert_sort(li)
    print(value)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章