
선택정렬
선택정렬은 값들의 최소값을 찾아 최소값으로 하나씩 앞부터 정렬하는 방식이다.
예제
nums = [4, 2, 5, 1, 3]
for i in range(len(nums)-1):
minIdx = i
for j in range(i+1, len(nums)):
if nums[minIdx] > nums[j]:
minIdx = j
nums[i], nums[minIdx] = nums[minIdx], nums[i]
print(nums)
내용
첫 인덱스를 최솟값으로 가정하에 최솟값을 찾기때문에 i를 배열의 -1까지의 크기로 한다.
인덱스를 하나씩 증가하여 최솟값을 찾고 비교하는값이 작다면 최솟값의 인덱스를 해당 인덱스로 변경해준다.
배열을 끝까지 수행하여 최솟값의 인덱스를 찾았다면 최솟값과 배열 앞에서부터 교체하여 첫 사이클을 끝내고,
다음 인덱스를 또 반복하여 배열 앞부터 작은값으로 채워 정렬한다.
결과
[1, 2, 3, 4, 5]
'컴퓨터 Info > Python - 자료구조' 카테고리의 다른 글
| Python - 퀵 정렬 (0) | 2022.05.09 |
|---|---|
| Python - 병합정렬 (0) | 2022.05.06 |
| Python - 삽입정렬 (0) | 2022.05.04 |
| Python - 버블정렬 (0) | 2022.05.03 |
| Python - 순위(Rank) (0) | 2022.05.03 |
댓글