삽입 정렬이 어떻게 작동하는지 이해하고 있습니다.
mark first element as sorted
for each unsorted element
'extract' the element
for i = lastSortedIndex to 0
if currentSortedElement > extractedElement
move sorted element to the right by 1
else: insert extracted element
초기 배열 : [8, 2, 1, 4, 3, 5]
비교 1 2 < 8
배열 : [2, 8, 1, 4, 3, 5]
비교 2 1 < 8
배열 : [2, 1, 8, 4, 3, 5]
삽입 정렬이 의사 코드를 사용
비교 3 : 1 < 2
어레이 : [1, 2, 8, 4, 3, 5]
비교 4 : 4 < 8
배열 : [1, 2, 4, 8, 3, 5]
비교 5 4 > 2
배열 : [1, 2, 4, 8, 3, 5]
비교 6 3 < 8
배열 : [1, 2, 4, 3, 8, 5]
비교 7 3 < 4
어레이 : [1, 2, 3, 4, 8, 5]
비교 8 : 3 > 2
배열 : 0 1,231,138,264,
비교 9 : 5 < 8
배열 : [1, 2, 3, 4, 5, 8]
비교 10 : 5 > 4
배열 : [1, 2, 3, 4, 5, 8]
결과 순위!
이 질문은 Java 교과서에서 인용됩니다. 나는 그 비교를 15로 계산했지만, 솔루션 메뉴얼에서 답은 10이라고 대답하면서 삽입 정렬 프로세스에 대해 뭔가 빠졌다고 추정했다. – rubyquartz