대상 데이터에서 최대나 최소 데이터를 찾은 후 정렬되지 않은 부분의 맨 앞 혹은 맨 뒤 값과 바꿔서 정렬하는 법
핵심 이론
최솟값 또는 최댓값을 찾고, 남은 정렬 부분의 가장 앞에 있는 데이터와 swap하는 것
- 남은 정렬 부분에서 최솟값 또는 최댓값을 찾는다
- 남은 정렬 부분에서 가장 앞에 있는 데이터와 선택된 데이터를 swap
- 가장 앞에 있는 데이터의 위치를 변경해 남은 정렬 범위를 축소
- 전체 데이터 크기와 가장 앞에 있는 데이터의 위치가 같아질 때까지 반복
for i in range(len(lst)):
max = i
for j in range(i+1, len(lst)):
if lst[j] > lst[max]:
max = j
if lst[i] < lst[max]:
temp = lst[i]
lst[i] = lst[max]
lst[max] = temp