Finn의 개발블로그
2. 선택정렬 본문
1. 선택 정렬 이란
- 가장 작은 수를 선택하여 순서대로 배치하는 정렬
2. 선택 정렬의 개념
- 첫 번째 값을 두 번째 값부터 마지막 값까지 차례대로 비교하여 가장 작은 값의 인덱스를 저장하고 가장 작은 인덱스의 값을 첫 번째 인덱스의 값과 교환한다, 두 번째 값을 세 번째 값부터 마지막 값까지 차례대로 비교하여 가장 작은 값의 인덱스를 저장하고 가장 작은 인덱스의 값을 두 번째 인덱스의 값과 교환한다. 이 과정을 반복한다
- 1회전을 수행하고 나면 가장 작은 값은 첫 번째 인덱스에 오게 되므로 이후 에는 2회전은 두 번째 인덱스 부터 3회전은 세 번째 인덱스 부터 시작한다.
3. 선택 정렬
def selection_sort(d_list):
for i in range(len(d_list)):
min_index = i
for j in range(i, len(d_list)):
if d_list[min_index] > d_list[j]:
min_index = j
d_list[min_index], d_list[i] = d_list[i], d_list[min_index]
return d_list
print(selection_sort(e))
--------------------------------------------
[1, 2, 3, 6, 6, 7, 9, 12, 45, 52]