這篇文章主要介紹了python插入排序的運(yùn)行過(guò)程是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇python插入排序的運(yùn)行過(guò)程是什么文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出鶴壁免費(fèi)做網(wǎng)站回饋大家。
為了保證插入后數(shù)據(jù)仍然有序,需要確定插入數(shù)據(jù)的位置。
1、將待排序的數(shù)據(jù)分為兩個(gè)區(qū)間。
有序區(qū)間和無(wú)序區(qū)間。初始有序區(qū)間只包含一個(gè)元素,即數(shù)組的第一個(gè)元素,其他的是無(wú)序區(qū)間。
2、依次從無(wú)序區(qū)間中選擇一個(gè)元素,在有序區(qū)間中找到合適的插入位置插入,確保排序區(qū)間的數(shù)據(jù)始終有序。
3、重復(fù)這個(gè)過(guò)程。
直到無(wú)序區(qū)間的元素為空,算法結(jié)束。
實(shí)例
#encoding=utf-8 def insert_sort(data_list): ''' 無(wú)優(yōu)化版 ''' count=0 #統(tǒng)計(jì)循環(huán)次數(shù) length = len(data_list) for i in range(1,length ): #默認(rèn)第一個(gè)位置的元素是已排序區(qū)間,因此下標(biāo)從 1 開(kāi)始 tmp = data_list[i] #待插入的數(shù)據(jù) j = i while j > 0: #從已排序區(qū)間查找插入位置 count +=1 if tmp < data_list[j-1]: data_list[j] = data_list[j-1] #元素向后移動(dòng),騰出插入位置 else: break j -= 1 data_list[j] = tmp #插入操作 print(data_list) print(f"總循環(huán)次數(shù)為 {count}") return data_list
關(guān)于“python插入排序的運(yùn)行過(guò)程是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“python插入排序的運(yùn)行過(guò)程是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。