Pythonのアルゴリズム|挿入ソート

擬似コード

ここに画像を挿入説明

Pythonで実装

# date: 2019-12-04
# author: sty
def insert_sort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        j = i - 1
        while j >= 0 and arr[j] > key:
            arr[j + 1] = arr[j]
            j = j - 1
        arr[j + 1] = key
    return arr


A = [5, 2, 4, 6, 1, 3]
B = [4, 3, 2, 1, 1, 2, 3]
print(insert_sort(A)) # [1, 2, 3, 4, 5, 6]
print(insert_sort(B)) # [1, 1, 2, 2, 3, 3, 4]
--------------------------------------------------------
# date: 8pm, 2019-12-04
# my version
# created when solving Lintcode problem #463
def sortIntegers(A):
    # insert sort
    for i in range(1, len(A)):
        j = i - 1
        while j >= 0 and A[j] > A[j+1]:
            A[j], A[j+1] = A[j+1], A[j]
            j -= 1
    return A


A = [5, 2, 4, 6, 1, 3]
B = [4, 3, 2, 1, 1, 2, 3]
print(sortIntegers(A)) # [1, 2, 3, 4, 5, 6]
print(sortIntegers(B)) # [1, 1, 2, 2, 3, 3, 4]

ソートのデモを選択
以下からの写真実験棟

参照

「アルゴリズムの概要」

公開された38元の記事 ウォンの賞賛5 ビュー6563

おすすめ

転載: blog.csdn.net/shaotianyang12/article/details/103380695