들어가기 전에
정렬 알고리즘 중 하나인 삽입 정렬에 대해 살펴보도록 하겠습니다.
학습 목표
삽입 정렬을 코드로 구현할 수 있습니다.
핵심 단어
- 삽입 정렬
- for문
강의 듣기
들어가기 전에
정렬 알고리즘 중 하나인 삽입 정렬에 대해 살펴보도록 하겠습니다.
학습 목표
삽입 정렬을 코드로 구현할 수 있습니다.
핵심 단어
강의 듣기
삽입 정렬 (코드)
for 반복문을 사용하여 삽입 정렬을 구현합니다.
// 요소를 선택하여 v에 저장
for (int i=1; i < array.length; i++) {
int j;
v = array[i];
for (int j=i-1; j >= 0; i--) {
// v가 바로 전의 요소보다 크거나 같으면 break
if (array[j] <= v)
break;
// v가 바로 전의 요소보다 작으면 위치를 바꿔줌
array[ j+1 ] = array[ j ];
}
array[ j+1 ] = v;
}
생각해보기
1) 위 코드에서 변수 v는 무엇을 의미하나요?
comment
변수 v는 삽입될 자리를 찾는 중인, 현재 차례의 인덱스의 값입니다.
정리노트에 오타가 있습니다:
변수 j를 이미 선언해 놓았으므로 두번째 for문은
for (j = i - 1; j >= 0; j--) 가 되어야 합니다.