これらは 3 つの単純な O(n²) comparison sort です。large input では遅いですが、sorting の mechanics を理解するのに役立ちます。
それぞれの仕組み
- Bubble sort: adjacent out-of-order pairs を繰り返し swap し、大きい値を各 pass で end へ "bubble" させる。
- Selection sort: unsorted part の minimum を見つけ、正しい位置へ swap する。
- Insertion sort: sorted prefix を伸ばし、新しい element を正しい位置へ insert する。
例(insertion sort)
python
():
i (, (arr)):
key = arr[i]
j = i -
j >= arr[j] > key:
arr[j + ] = arr[j]
j -=
arr[j + ] = key
arr
insertion_sort([, , , ])
