コーディングテスト対策として、「アルゴリズムとデータ構造」という本を実践してます。
自分自身の備忘のために、pythonコードとメモを載せてます。
pythonコード
def selectionSort(A, N):
swich_counter = 0
for i in range(N):
mini = i
for j in range(i, N):
if A[ j ] < A[ mini ]:
mini = j
if A[ i ] != A[ mini ]:
A[ i ], A[ mini ] = A[ mini ], A[ i ]
swich_counter = swich_counter + 1
# いつものやつ(出力)
print( ' '.join( map( str, A ) ) )
print(swich_counter)
# いつものやつ(入力)
N_input = int( input() )
A_input = list( map( int, input().split(' ') ) )
selectionSort(A_input, N_input)
補足
if A[ i ] != A[ mini ]:
上記コードがないとswich_counter
に正確に反映されません。