直接插入排序


def straightInsert(a):
    # 直接插入排序: 小->大
    for i in range(1, len(a)):    # 待排序
        index = a[i]
        j = i - 1        # 表示已經(jīng)排好序
        while j >= 0 and a[j] > index:
            a[j + 1] = a[j]
            j -= 1
        a[j + 1] = index
        print(a)
a = [5, 4, 3, 2, 1]
straightInsert(a)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在這篇文章中,你將看到最容易理解的一種排序方法:直接插入排序。 請(qǐng)保證你有連續(xù)的20分鐘來(lái)看這個(gè)算法,如果你用2分...
    __無(wú)語(yǔ)__閱讀 488評(píng)論 3 3
  • 基本思想 首先,我們將數(shù)組中的數(shù)據(jù)分為已排序區(qū)間和未排序區(qū)間,初始已排序區(qū)間只有一個(gè)元素,就是數(shù)組的第一個(gè)元素。插...
    官先生Y閱讀 284評(píng)論 0 1
  • 基本思想:依次將待排序序列中的每一個(gè)記錄插入到一個(gè)已排好序的序列中,知道全部記錄都排好序。具體過(guò)程:(1)將整個(gè)待...
    Caesar少校閱讀 182評(píng)論 0 0
  • 基本思想每步將一個(gè)待排序的記錄,按其順序碼大小插入到前面已經(jīng)排序的子序列的合適位置(從后向前找到合適位置后),直到...
    JRTx閱讀 182評(píng)論 0 1
  • 黎笙覺(jué)得自己挺可悲的。 第一次和人類(lèi)打交道,硬生生的挨了一棍;第二次,以為遇到了好人,心生感激與愧疚,到頭來(lái)卻發(fā)現(xiàn)...
    山海盡落花閱讀 347評(píng)論 2 1