자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘
내용 출처
1
번째부터 n
번째까지 차례대로 원소를 꺼낸다.n-1
번째부터 0
번째까지)def insertion_sort(numbers):
""" 오름차순 삽입 정렬을 실행합니다. """
n = len(numbers)
for i in range(1, n):
now = numbers[i]
j = i - 1
while j >= 0 and numbers[j] > now:
numbers[j + 1] = numbers[j]
j -= 1
numbers[j + 1] = now
if __name__ == '__main__':
numbers = [6, 5, 6, 4, 3, 2, 1]
insertion_sort(numbers)
print(numbers)
'''
출력 결과
[1, 2, 3, 4, 5, 6, 6]
'''