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]