더북(TheBook)

실제로 더 작은 값을 찾으면 이 값의 인덱스를 lowestNumberIndex에 저장한다.

if(array[j] < array[lowestNumberIndex]) { 
    lowestNumberIndex = j; 
}

안쪽 루프가 종료되는 시점에 이번 패스스루에서 가장 작은 수의 인덱스가 결정된다.

패스스루의 최솟값이 이미 올바른 위치에 있으면(최솟값이 패스스루에서 만난 첫 번째 값인 경우) 아무것도 하지 않아도 된다. 하지만 최솟값이 올바른 위치에 있지 않으면 교환해야 한다. 좀 더 구체적으로 설명하면 패스스루를 시작했던 인덱스 i에 있는 값과 최솟값을 교환한다.

if(lowestNumberIndex != i) {
    let temp = array[i];
    array[i] = array[lowestNumberIndex]; 
    array[lowestNumberIndex] = temp; 
}

끝으로 정렬된 배열을 반환한다.

return array;
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.