Python練習(バブルソート)

Python練習でバブルソート

バブルソートは隣接するデータを比較していき、値の一番大きなものから順に値を決定
させていく。計算量はO(N^2)。

コード(Python)

#coding: UTF-8
#バブルソート

x = [4,50,3,10,88,39,2,15]

i=len(x)
while i > 0:
    j = 1
    while j < i:
        if x[j-1] > x[j] :
            tmp = x[j-1]
            x[j-1] = x[j]
            x[j] = tmp
        j += 1
    i -= 1

print x

出力

[4, 3, 10, 50, 39, 2, 15, 88]
[3, 4, 10, 39, 2, 15, 50, 88]
[3, 4, 10, 2, 15, 39, 50, 88]
[3, 4, 2, 10, 15, 39, 50, 88]
[3, 2, 4, 10, 15, 39, 50, 88]
[2, 3, 4, 10, 15, 39, 50, 88]
[2, 3, 4, 10, 15, 39, 50, 88]
[2, 3, 4, 10, 15, 39, 50, 88]
ーーーーーーーーーーーーーーーー
[2, 3, 4, 10, 15, 39, 50, 88]