def bubble_sort(array): n = len(array) for i in range(n-1): for j in range(n-1,i,-1): #開始、終了、ステップ ''' iが左端。つまり最小値。左端であるiをソート済みにし、 開始n-1つまり右端に戻る。 ''' if array[j] < array[j-1]: tmp = array[j] array[j] = array[j-1] array[j-1] = tmp
選択ソート
def selection_sort(array): n = len(array) for i in range(0, n-1): #最小値のインデックスを保持 min = i for j in range(i+1, n): if array[min] > array[j]: min = j tmp = array[min] array[min] = array[i] array[i] = tmp return array
挿入ソート
def iSort(a): for i in range(1, len(a)): for j in range(i, 0, -1):#今いるiから左に(だから-1)j回比較する if a[j] >= a[j-1]: break else: a[j], a[j-1] = a[j-1], a[j] return a