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ループを回すのがポイントだって事が分かって来た。
初めて書くので、この簡単なものがものすごく難しく感じる。