Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Triển khai sắp xếp chèn để sắp xếp mảng số tăng dần trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng số arr làm đối số duy nhất.

Hàm phải sử dụng thuật toán sắp xếp chèn (insertion sort) để 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ụ

Dưới đâ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]