Pythonで単純挿入法(挿入ソート)を実装

アルゴリズム:単純挿入法

import random


def insertsort(array):
array_len = len(array)
for x in range(1, array_len):
stash = array[x]
if stash < array[x-1]:
y = x
while True:
array[y] = array[y-1]
y -= 1
if y == 0 or stash > array[y-1]:
break
array[y] = stash


if __name__ == '__main__':
bf_array = [x for x in range(20)]
af_array = random.sample(bf_array, len(bf_array))

print('整列前配列:{0}'.format(af_array))
insertsort(af_array)
print('整列後配列:{0}'.format(af_array))

##########結果##########

整列前配列:[19, 8, 4, 13, 1, 10, 11, 12, 0, 2, 14, 9, 17, 15, 16, 5, 18, 7, 3, 6]
整列後配列:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

コメント

現在コメントはありません

新しいコメント

*
*
*

admin

こんにちは!Bicepperです。
メインはフロントですが、Python・AWS・GCPやったりと手を広げまくってます。

筋トレ歴10年目。筋トレのこともたまーに書いたりします。

Twitter Feed