삽입 정렬 알고리즘
# 삽입 정렬 # 입력: 리스트 a # 출력: 없음(입력으로 주어진 a가 정렬됨) def insert_sort(a): n = len(a) for i in range(1, n): # 1부터 마지막까지 key = a[i] # i번 위치에 있는 값을 key에 저장 # j를 i바로 왼쪽 위치로 저장 j = i - 1 # 리스트의 j번 위치에 있는 값과 key를 비교해 key가 삽입될 적절한 위치를 찾음 while j >= 0 and a[j] > key: a[j + 1] = a[j] # 삽입할 공간이 생기도록 값을 오른쪽으로 한 칸 이동 j -= 1 a[j + 1] = key # 찾은 삽입 위치에 key를 저장 l = [2, 4, 5, 1, 3] insert_sort(l) print(l)
실행 결과

'개발 공부한 내용 정리 > Algorithm' 카테고리의 다른 글
Algorithm- 퀵 정렬 알고리즘 (0) | 2020.08.17 |
---|---|
Algorithm- 병합 정렬 (0) | 2020.08.16 |
Algorithm- 선택 정렬 알고리즘 (0) | 2020.08.14 |
Algorithm- 순차 탐색 (0) | 2020.08.13 |
Algorithm- 하노이의 탑 알고리즘 (0) | 2020.08.12 |