天天看點

python--算法--插入排序--代碼實作插入排序

插入排序

時間複雜度 : O(n2)

基礎邏輯 :

一個清單 [2,4,8,3,7]裡,取第一個元素為初始有序清單[2],剩下的元素為無序清單,周遊無序清單[4,8,3,7],判斷4和2的大小,如果小于等于2,用python清單的insert方法插入到有序清單[2]的前面(如果需要插入,記得先删除無序清單裡元素,畢竟隻用了一個清單)

class Solution(object):
    def ListSort(self, l):
        for index,i in enumerate(l):
            if index >=1:
                for j_index,j in enumerate(l[:index]):
                    if i <= j:
                        del(l[index])
                        l.insert(j_index,i)
                        break
        return l