python排序之一插入排序

來源:互聯網
上載者:User

標籤:image   ima   lin   服務   lis   工作流程   com   就會   技術   

python排序之一插入排序

  首先什麼是插入排序,個人理解就是拿隊列中的一個元素與其之前的元素一一做比較交根據大小換位置的過程好了我們先來看看代碼

首先就是一個無序的列表先列印它好讓排序後有對比效果,然後我後面注釋工作流程,下面我來一一說明下其運行流程,開始先聲明一個插入排序的函數名insert_sort,要傳入的參數為lis,count來擷取列表lis長度len(lis),然後我們要開始寫迴圈對比for i in range(從1到列表長度count)然後把列表下標為一位置的數也就是28(lis下標預設是從0開始然後才是1,2,3,...)j用來取i的前面一個位子i-1等於0,這用遞減的方式來比對,j=0進入迴圈,判斷lis[0]也就是85 大於 28,也就是前面的數只要比後面的數字大就交換位置,這裡就lis[0+1]也就是lis[1]28 被lis[0]85給賦值了(可以簡單理解為a=1,b=0 if a>b a,b=b,a等同於a=0,b=1),j: 0-1=-1迴圈結束,當然如果還是不清楚改變如下代碼

 

 

 

首先你要注釋#號代碼,然後在迴圈結束列印出每次迴圈玩的結果就可以看得很清楚,這裡可以清楚看到每一次迴圈完成都會改變前面幾個數位順序(尤其注意看11的位置改變),其實也就是每次拿K去一次和前面的值比較,只要比K大位置就交換。在直接的就是與前面的數對比,只要它比你大就換位置。打個比方你買車,看了很多種,一去瞭解發現好多東西要配,貨比三家的去問發現這第二家折扣大,你想買的慾望增加,就會把第一家想買的排在後面,優先第二家,結果第三家一站式服務全部跟你配齊,折扣也不錯,這時候你心裡會比較三家最想去的一家向前排,不好的就仍後面有個順序1,2,3。

感謝收看,下次再見。

python排序之一插入排序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.