본문 바로가기
Computer Science/Algorithm, Data Structure

자바스크립트 알고리즘 삽입 정렬(Insertion Sort)

by Write and Remember 2019. 6. 17.

출처: https://reactgo.com/javascript-insertion-sort-algorithm/

 

삽입 정렬(Insertion Sort)

 

출처: Wikipedia

 

배열의 두 번째부터 시작하고, temp라는 변수를 만들어서

 

값을 임시로 저장을 하고, 저장한 임시의 값보다 0번째 인덱스 값이 크다면

 

스왑 해준다. 

 

예를 들면,

 

array[0] = 4, array[1] = 1 

 

temp = array[1]

 

array[1] = array[0]

 

array[0] = array[1]

 

array[0] = 1, array[1] = 4

 

for문 중첩 구문 및 조건을 생각하기가 난이도 있는거 같다.

 

function insertionSort(array, length = array.length) {
  for (let i = 1; i < length; i++) {
    let temp = array[i];
    let j;
    for (j = i - 1; j > -1 && array[j] > temp; j--) {
      array[j + 1] = array[j]
    }
    array[j + 1] = temp;
  }
  return array;
}

console.log(insertionSort([4, 1, 3, 7, 2, 10, 9, 5,])) // [1, 2, 3, 4, 5, 7, 9, 10]

댓글0