더북(TheBook)

◼︎ 9-2 내림차순 삽입 정렬

오름차순 정렬에서 키(key)를 비교하는 부분(a[j] > key)의 부등호를 반대로 하면 내림차순 정렬 프로그램이 됩니다.

 

◉ 예제 소스 e09-2-isort.py

# 내림차순 삽입 정렬

# 입력: 리스트 a

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

 

def ins_sort(a):

    n = len(a)

    for i in range(1, n):

        key = a[i]

        j = i - 1

        while j >= 0 and a[j] < key: # 부등호 방향 뒤집기

            a[j + 1] = a[j]

            j -= 1

        a[j + 1] = key

 

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

ins_sort(d)

print(d)

 

◉ 실행 결과

[5, 4, 3, 2, 1]

 

 

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