본문 바로가기
코딩/알고리즘

[정렬] 선택정렬 알고리즘

by 미생22 2023. 1. 31.
728x90

주어진 리스트 중에 최소값을 찾아, 그 값을 맨 앞에 위치한 값과 교체하는 방식으로 자료를 정렬하는 알고리즘

 

nums = [4, 2, 5, 1, 3]

#4부터 1까지 가서 그 다음 숫자와 비교할거임
for i in range(len(nums)-1):
    
    minIdx = i
    
    #i이후의 숫자부터 맨끝까지
    for j in range(i+1, len(nums)):
        
        
        #앞에 있는 숫자가 더 크면
        if nums[minIdx] > nums[j]:
            #작은 숫자를 뒤에 있는 숫자로 지정하고
            minIdx = j
            
    #자리를 바꿔줄거임
    tempNum = nums[i]
    nums[i] = nums[minIdx]
    nums[minIdx] = tempNum
        
    print(f'nums : {nums}')

nums : [1, 2, 5, 4, 3]
nums : [1, 2, 5, 4, 3]
nums : [1, 2, 3, 4, 5]
nums : [1, 2, 3, 4, 5]

728x90