Python實現(xiàn)的直接插入排序算法示例
本文實例講述了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
運行結(jié)果:
PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python 數(shù)據(jù)類型強制轉(zhuǎn)換的總結(jié)
這篇文章主要介紹了python 數(shù)據(jù)類型強制轉(zhuǎn)換的使用總結(jié),幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01Python餐飲AI機器人學習數(shù)據(jù)網(wǎng)絡(luò)抓取
在餐飲行業(yè),AI機器人可以通過學習大量的相關(guān)數(shù)據(jù)來提供更好的服務(wù)和體驗,在文本中,我們將介紹如何使用python進行餐飲A?I機器人學習數(shù)據(jù)的網(wǎng)絡(luò)抓取,并提供代碼的示例和最佳實踐2023-12-12詳解appium自動化測試工具(monitor、uiautomatorviewer)
這篇文章主要介紹了詳解appium自動化測試工具(monitor、uiautomatorviewer),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01python base64圖片互轉(zhuǎn),解決base64字符串轉(zhuǎn)PIL圖片對象報錯:binascii.Error:
在Base64編碼中,若字符串長度不是4的倍數(shù),需在末尾添加等號作為填充,不符合此規(guī)則會導致在轉(zhuǎn)換為圖片時出現(xiàn)binascii.Error:Incorrectpadding錯誤,正確的填充確保編碼后的字符串可以正確轉(zhuǎn)換成圖片,避免轉(zhuǎn)換錯誤2024-09-09python3連接mysql獲取ansible動態(tài)inventory腳本
Ansible Inventory 是包含靜態(tài) Inventory 和動態(tài) Inventory 兩部分的,靜態(tài) Inventory 指的是在文件中指定的主機和組,動態(tài) Inventory 指通過外部腳本獲取主機列表。這篇文章主要介紹了python3連接mysql獲取ansible動態(tài)inventory腳本,需要的朋友可以參考下2020-01-01