Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript를 사용하여 숫자 배열을 오름차순으로 정렬하는 삽입 정렬 구현

<시간/>

문제

첫 번째이자 유일한 인수로 숫자 배열인 arr을 취하는 JavaScript 함수를 작성해야 합니다.

우리 함수는 이 숫자 배열을 오름차순으로 정렬하기 위해 삽입 정렬 알고리즘을 사용해야 합니다.

예를 들어 함수에 대한 입력이

인 경우

입력

const arr = [5, 8, 1, 3, 9, 4, 2, 7, 6];

출력

const output = [1, 2, 3, 4, 5, 6, 7, 8, 9];

예시

다음은 코드입니다 -

const arr = [5, 8, 1, 3, 9, 4, 2, 7, 6];
const insertionSort = (arr = []) => {
   let n = arr.length;
   for (let i = 1; i < n; i++) {
      let curr = arr[i];
      let j = i-1;
      while ((j > -1) && (curr < arr[j])) {
         arr[j+1] = arr[j];
         j--;
      }
      arr[j+1] = curr;
   };
   return arr;
}
console.log(insertionSort(arr));

출력

[1, 2, 3, 4, 5, 6, 7, 8, 9]