선택 정렬 알고리즘
# 선택 정렬 알고리즘
# 입력: 리스트 a
# 출력: 없음(입력으로 주어진 a가 정렬됨)
def select_sort(a):
n = len(a)
for i in range(0, n - 1): # 0부터 마지막에서 두번째(-2)까지 반복
# i번 위치부터 끝까지 자료 값 중 최소값의 위치를 찾음
min_idx = i
for j in range(i + 1, n):
if a[j] < a[min_idx]:
min_idx = j
a[i], a[min_idx] = a[min_idx], a[i] # 리스트 안에서 두 자료의 값을 바꾸기 위해 사용
# 파이썬에서는 값을 서로 바꾸는데 쉼표를 사용해서 x , y = y, x 이렇게 바꾸기 가능
l = [2, 4, 5, 1, 3]
select_sort(l)
print(l)
실행 결과
'개발 공부한 내용 정리 > Algorithm' 카테고리의 다른 글
Algorithm- 병합 정렬 (0) | 2020.08.16 |
---|---|
Algorithm- 삽입 정렬 알고리즘 (0) | 2020.08.15 |
Algorithm- 순차 탐색 (0) | 2020.08.13 |
Algorithm- 하노이의 탑 알고리즘 (0) | 2020.08.12 |
Algorithm- 최대공약수 구하기 (0) | 2020.08.11 |