溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python實現(xiàn)的直接插入排序算法

發(fā)布時間:2021-04-06 11:30:30 來源:億速云 閱讀:146 作者:小新 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關如何使用Python實現(xiàn)的直接插入排序算法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:

# -*- coding:utf-8 -*-
'''直接插入的python實現(xiàn)
  時間復雜度O(n**2) 空間復雜度O(1) 穩(wěn)定
思想:先將前兩個元素排序,第三個元素插入前面已排好序列,
    后面的元素依次插入之前已經(jīng)排好序的序列
'''
author = 'Leo Howell'
L = [89,67,56,45,34,23,1]
def direct_insert_sort(numbers):
  for i in range(1,len(numbers)):
    #temp變量指向尚未排好序元素(從第二個開始)
    temp = numbers[i]
    #j指向前一個元素的下標
    j = i-1
    #temp與前一個元素比較,若temp較小則前一元素后移,j自減,繼續(xù)比較
    while j>=0 and temp<numbers[j]:
      numbers[j+1]=numbers[j]
      j = j-1
    #temp所指向元素的最終位置
    numbers[j+1] = temp
if __name__=='__main__':
  direct_insert_sort(L)
  print L

運行結果:

如何使用Python實現(xiàn)的直接插入排序算法

關于“如何使用Python實現(xiàn)的直接插入排序算法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI