[5, 3, 6, 1, 4]
[5, 3, 6, 1, 4]
인덱스 0
에 들어 있는 값을 확인하며 시작한다. 현재 본 유일한 값은 5
이기 때문에 인덱스에 저장한다.3
과 비교한다. 3
은 5
보다 작기 때문에 최솟값이 된다.3
을 6
과 비교하면 여전히 최솟값이 된다.3
을 1
과 비교하면 1
이 작기 때문에 최솟값이 1
로 변경된다.1
은 4
보다 작기 때문에 최솟값을 유지한다.1
이기 때문에 인덱스 0
값과 자리를 바꾼다.[1, 3, 6, 5, 4]
인덱스 0
의 값이 정해졌으니 인덱스 1
의 최솟값을 찾기 위해 위 과정을 반복한다.이러한 정렬과정을 선택정렬이라고 한다.
[5, 3, 6, 1, 4]
[5, 3, 6, 1, 4]
인데스 1번
부터 시작하면 3
이 들어갈 자리를 찾아야한다.3
은 5
보다 작기 때문에 5
가 인덱스 1번
자리고 가고 3
은 인덱스 0번
자리에 들어가게 된다.[3, 5, 6, 1, 4]
6
이 들어갈 자리를 찾으면 된다. 6은 인덱스 0,1번보다 크기 때문에 자리변동은 없다.[3, 5, 6, 1, 4]
1
이 들어갈 자리를 찾는다. 1
은 인덱스 0,1,2번
값보다 모두 작기 때문에 인덱스 0번 자리에 들어가게 되고 나머지 값들은 뒤로 한칸씩 옮긴다.[1, 3, 5, 6, 4]
4
가 들어갈 자리를 찾는다. 4
는 5
보다 작기 때문에 인덱스 2번
자리에 들어가고 5
와6
은 뒤로 한칸씩 옮긴다.[1, 3, 4, 5, 6]
이러한 정렬과정을 삽입정렬이라고 한다.