2013-03-08

「アルゴリズムを、はじめよう」単純交換法(バブルソート, buble sort)をPythonで書く

5,3,4,1,2と並んでいる数字を単純交換法(バブルソート)を使って昇順に並べ替える問題。

アルゴリズムを、はじめよう

第8章:単純交換法(バブルソート, buble sort)のアルゴリズム


#!/usr/bin/env python
#-*- coding: utf-8 -*-

def bubleSort():
    array = [5, 3, 4, 1, 2]
    k = len(array) - 1
    for i in xrange(k):
        for j in xrange(k, i, -1):
            if array[j-1] > array[j]:
                array[j-1], array[j] = array[j], array[j-1]
    print array

if __name__ == '__main__':
    bubleSort()

Pythonはxrange関数の3つの引数をうまく使ってforループを回すのがポイントだって事が分かって来た。

初めて書くので、この簡単なものがものすごく難しく感じる。

0 件のコメント:

コメントを投稿