2013-03-08

「アルゴリズムを、はじめよう」単純挿入法(insertion sort)をPythonで書く

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()

これで合ってるのかちょっと自信がない。

やっている事がバブルソートのような気もする。

0 件のコメント:

コメントを投稿