python實現直接插入排序


# 從待排序的n個記錄中的第二個記錄開始,依次與前面的記錄比較並尋找插入的位置,每次外循環結束后,將當前的數插入到合適的位置。
# 時間復雜度: O(n)~O(n^2)

def insert_sort1(array): n = len(array) for i in range(1, n): for j in range(i, 0, -1): if array[j] < array[j-1]: array[j], array[j-1] = array[j-1], array[j] else: break
def insert_sort2(array):
    for i in range(1, len(array)):
        if array[i-1] > array[i]:
            index, temp = i, array[i]
            while index > 0 and array[index-1] > temp:
                array[index] = array[index - 1]
                index -= 1
            array[index] = temp
      return array

L = [99, 12, 23, 54, 32, 11, 76, 5, 73, 2, 89, 76, 554, 65, 234]
insert_sort2(L)
>>> [2, 5, 11, 12, 23, 32, 54, 65, 73, 76, 76, 89, 99, 234, 554]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM