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

python:插入排序(直接插入)的實(shí)現(xiàn)

系統(tǒng) 2046 0

插入排序是一種簡(jiǎn)單直觀且穩(wěn)定的排序算法。

將一個(gè)數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個(gè)新的、個(gè)數(shù)加一的有序數(shù)據(jù)。

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

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

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

直接插入排序

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

思路:

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

<2> 對(duì)待排序的部分進(jìn)行遍歷,從第一個(gè)開始往已排好的部分進(jìn)行插入;

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

<4> 將 i 與 j 坐標(biāo)所對(duì)應(yīng)的元素大小進(jìn)行比較,若待排元素 i 小,則將此時(shí)的待排元素儲(chǔ)存為臨時(shí)變量,將已排好的元素 j 向后移動(dòng)一位;

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

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

代碼實(shí)現(xiàn):

            
              
                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:插入排序(直接插入)的實(shí)現(xiàn)_第1張圖片
具體的流程可以參考上圖


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 性感美女一级毛片 | 精品亚洲综合久久中文字幕 | 久久www免费人成_看片美女图 | 香蕉视频免费在线 | 亚洲欧洲一区二区三区在线观看 | 最新国产中文字幕 | 久久精品一区二区三区资源网 | 在线播放亚洲精品富二代91 | 99精品国产自在现线观看 | 在线观看亚洲免费 | 四虎在线最新地址公告 | 黑人日美女 | 亚洲国产99| 九九99九九视频在线观看 | 国产亚洲一区二区三区啪 | 黄色一级网站 | 牛牛影视在线入口 | 伊人久久综在合线亚洲91 | a一级毛片免费播放 | 久久成人国产精品 | 中文字幕一区二区三区有限公司 | 国产日韩欧美精品 | 日本成年一区久久综合 | 免费国产免费福利视频 | 一级毛片在线看 | 2021午夜国产精品福利 | 九九涩 | 国产乱码视频 | 一级成人毛片免费观看欧美 | a黄毛片| 日本一级爽毛片在线看 | 国产激情一区二区三区成人91 | 国产呦系列 欧美呦 日韩呦 | 97免费视频在线观看 | 久久精品视频99 | 精品伊人久久久99热这里只 | 欧美图片一区二区三区 | 伊人不卡久久大香线蕉综合影院 | 人人鲁免费播放视频人人香蕉 | 精品成人免费一区二区在线播放 | 欧美精品久久久久久久小说 |