컴퓨터 Info/Python - 자료구조

Python - 선택정렬

붕짱이 2022. 5. 4.

선택정렬

선택정렬은 값들의 최소값을 찾아 최소값으로 하나씩 앞부터 정렬하는 방식이다.

 

예제
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

댓글