본문 바로가기

공부/자료 구조 및 알고리즘

삽입정렬 (Insertion Sort) - python

arr = [31, 53, 75, 42, 15, 64, 31]
print("[정렬되지 않은 배열]")
print(arr)
print()

for i in range(1, len(arr)):
    Index = arr[i] #index는 해당 삽입장소에서 대기
    j = i - 1 #j는 삽입이 될 수도 있는 수
    while (j >= 0 and arr[j] > Index): #정렬이 된 상황에서 true
        arr[j + 1] = arr[j] 
        j -= 1
    
    arr[j + 1] = Index

print("[정렬 완료된 배열]")
print(arr)
[정렬되지 않은 배열]
[31, 53, 75, 42, 15, 64, 31]

[정렬 완료된 배열]
[15, 31, 31, 42, 53, 64, 75]