Python練習(選択ソート)

Python練習で選択ソート

選択ソートは要素の中で一番小さい値を探し出し、要素の先頭と入れ替える。
以後、決定した要素を除外し、繰り返す。
計算量はO(N^2)である。

コード(Python)

#coding: UTF-8

#選択ソート

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

for i in range(0, len(x)):
    index = i
    for j in range(i+1, len(x)):
        if x[index] > x[j]:
            index = j
        j += 1
    if index != i:
        tmp = x[index]
        x[index] = x[i]
        x[i] = tmp 
    i += 1
    print x
print "-"*30
print x

出力

[2, 50, 3, 10, 88, 39, 4, 15]
[2, 3, 50, 10, 88, 39, 4, 15]
[2, 3, 4, 10, 88, 39, 50, 15]
[2, 3, 4, 10, 88, 39, 50, 15]
[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]
ーーーーーーーーーーーーーーー
[2, 3, 4, 10, 15, 39, 50, 88]