더북(TheBook)

icon_cakewalk 프로그램 8-2

 

일반적인 선택 정렬 알고리즘

 

◉ 예제 소스 p08-2-ssort.py

# 선택 정렬

# 입력: 리스트 a

# 출력: 없음(입력으로 주어진 a가 정렬됨)

 

def sel_sort(a):

    n = len(a)

    for i in range(0, n - 1): # 0부터 n -2까지 반복

        # i번 위치부터 끝까지 자료 값 중 최솟값의 위치를 찾음

        min_idx = i

        for j in range(i + 1, n):

            if a[j] < a[min_idx]:

                min_idx = j

        # 찾은 최솟값을 i번 위치로

        a[i], a[min_idx] = a[min_idx], a[i]

 

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

sel_sort(d)

print(d)

 

icon_result 실행 결과

 

[1, 2, 3, 4, 5]

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.