ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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]