Computer >> Máy Tính >  >> Lập trình >> Javascript

Thực hiện sắp xếp chèn để sắp xếp mảng số theo thứ tự tăng dần bằng JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng số, arr, làm đối số đầu tiên và duy nhất.

Hàm của chúng ta nên sử dụng thuật toán sắp xếp chèn để sắp xếp mảng số này theo thứ tự tăng dần.

Ví dụ:nếu đầu vào của hàm là

Đầu vào

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

Đầu ra

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

Ví dụ

Sau đây là mã -

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));

Đầu ra

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