insertSort

김_리트리버·2021년 5월 15일
0

[알고리즘]

목록 보기
46/47

과거의 요소들과 현재요소를 비교하면서 현재요소가 있어야 할 곳에 삽입해 나가는 정렬

pointer 를 이동하면서 과거의 요소와 현재요소를 비교하면서 자리를 바꾸어 나간다.

// 요소를 전부 확인한다.

// 현재 요소를 과거에 확인했던 요소들에 삽입해 정렬해 나간다.

const array = [5, 3, 1, 3, 4, 6, 2];

function insertSort(array) {
  for (let i = 1; i < array.length; ++i) {
    let pastPointer = i - 1;

    while (pastPointer >= 0 && array[pastPointer + 1] > array[pastPointer]) {
      const temp = array[pastPointer + 1];
      array[pastPointer + 1] = array[pastPointer];
      array[pastPointer] = temp;

      --pastPointer;
    }
  }
}

insertSort(array);

console.log(array);

profile
web-developer

0개의 댓글