ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลข arr เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว
ฟังก์ชันของเราควรใช้อัลกอริธึมการจัดเรียงการแทรกเพื่อจัดเรียงอาร์เรย์ของตัวเลขนี้ตามลำดับที่เพิ่มขึ้น
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ
ป้อนข้อมูล
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]