亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python:插入排序(直接插入)的實現

系統 1809 0

插入排序是一種簡單直觀且穩定的排序算法。

將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據。

基本思想:
每步將一個待排序的記錄,按其關鍵碼值的大小插入前面已經排序的列表中適當位置上,直到全部插入完為止。

將排序的數組分成兩部分:第一部分已排好序的元素,第二部分包含即待插入元素。在排序過程中,分別從待插入元素中取出元素,插入到已排好序的元素列表中。

分類:
直接插入排序,二分插入排序(又稱折半插入排序)
二分插入排序在后面的文章會寫到。

直接插入排序

實例,將用戶輸入的列表按照從小到大排列

思路:

<1> 將列表分為兩部分,一部分為已排序好的元素,另一部分為待排序的元素。(若此列表無已排好的元素,直接將第一個元素視為已拍好的部分);

<2> 對待排序的部分進行遍歷,從第一個開始往已排好的部分進行插入;

<3> 假設待排序的元素坐標為 i ,則已排好序的最后一位坐標為 j = i-1;

<4> 將 i 與 j 坐標所對應的元素大小進行比較,若待排元素 i 小,則將此時的待排元素儲存為臨時變量,將已排好的元素 j 向后移動一位;

<5> 繼續向已排好序列前方進行尋找比較。此過程中,比臨時變量大的元素均向后移一位,直到找到比臨時變量小或者到達列表頂端為止。

<6> 將剛才的臨時變量賦值到合適的位置。

代碼實現:

            
              
                def
              
              
                Sorting
              
              
                (
              
              self
              
                )
              
              
                :
              
              
    len_list 
              
                =
              
              
                len
              
              
                (
              
              new_list
              
                )
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
               len_list
              
                -
              
              
                1
              
              
                )
              
              
                :
              
              
        j 
              
                =
              
               i
              
                -
              
              
                1
              
              
                if
              
               new_list
              
                [
              
              i
              
                ]
              
              
                <
              
               new_list
              
                [
              
              j
              
                ]
              
              
                :
              
              
            temp 
              
                =
              
               new_list
              
                [
              
              i
              
                ]
              
              
            new_list
              
                [
              
              i
              
                ]
              
              
                =
              
               new_list
              
                [
              
              j
              
                ]
              
              
            j 
              
                -=
              
              
                1
              
              
                while
              
               j 
              
                >
              
              
                0
              
              
                and
              
               new_list
              
                [
              
              j
              
                ]
              
              
                >
              
               temp
              
                :
              
              
                new_list
              
                [
              
              j
              
                +
              
              
                1
              
              
                ]
              
              
                =
              
               new_list
              
                [
              
              j
              
                ]
              
              
                j 
              
                -=
              
              
                1
              
              
            new_list
              
                [
              
              j
              
                +
              
              
                1
              
              
                ]
              
              
                =
              
               temp            

new_list 
              
                =
              
              
                list
              
              
                (
              
              
                input
              
              
                (
              
              
                'please input new numbers:'
              
              
                )
              
              
                )
              
              
Sorting
              
                (
              
              new_list
              
                )
              
            
          

python:插入排序(直接插入)的實現_第1張圖片
具體的流程可以參考上圖


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美真人毛片动作视频 | 婷婷国产天堂久久综合五月 | 色天使色婷婷丁香久久综合 | 中文字幕欧美日韩高清 | 欧美亚洲综合另类型色妞 | 经典日韩 | 国产日韩精品一区二区在线观看 | 操日日 | 欧洲成人全免费视频网站 | 在线播放亚洲精品富二代91 | 桃色婷婷 | 国产欧美一区二区三区视频 | 亚洲精品久久成人福利 | 日韩黄色精品 | 天天爱夜夜做 | 国产深夜福利视频在线观看 | 亚洲国产精品综合久久20 | 特一级黄 | 国产未成女年一区二区 | 九九久久九九久久 | 狠狠色噜噜狠狠狠狠 | 12一14周岁毛片免费网站 | 久久久久青草线蕉亚洲麻豆 | 久久婷婷久久一区二区三区 | 我就色色综合网 | 久久亚洲高清观看 | 久久精品久久精品国产大片 | 欧美一级毛片免费看 | 四虎在线免费观看 | 久久精品这里热有精品 | 911免费视频| 久久99精品久久久久久久不卡 | 日日干日日草 | 亚洲成人精品久久 | 四虎永久免费观看 | 99热免费在线观看 | 亚洲国产精品热久久2022 | 国产成人午夜精品5599 | 特黄特色大片免费播放器999 | 免费中文字幕一级毛片 | 夜夜夜夜夜夜夜工噜噜噜 |