5,3,4,1,2と並んでいる数字を単純挿入法(インサーションソート)を使って昇順に並べ替える問題。
第9章:単純挿入法(インサーションソート, insertion sort)のアルゴリズム
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def insertionSort():
array = [5, 3, 4, 1, 2]
for i in xrange(1, len(array)):
while i - 1 >= 0:
if array[i-1] > array[i]:
array[i-1], array[i] = array[i], array[i-1]
i -= 1
print array
if __name__ == '__main__':
insertionSort()
これで合ってるのかちょっと自信がない。
やっている事がバブルソートのような気もする。