สร้างฟังก์ชัน พูด binarySearch() ที่มี 4 อาร์กิวเมนต์ -
- อาร์เรย์ลิเทอรัลอาร์เรย์ของ Number / String
- ดัชนีเริ่มต้นของอาร์เรย์ (0)
- ดัชนีสิ้นสุดของอาร์เรย์ (ความยาว - 1)
- หมายเลขที่ต้องการค้นหา
หากมีหมายเลขอยู่ในอาร์เรย์ ดัชนีของตัวเลขควรส่งคืน มิฉะนั้น จะส่งกลับ -1 นี่คือรหัสเต็ม -
ตัวอย่าง
const arr =[2,4,6,6,8,8,9,10,13,15,17,21,24,26,28,36,58,78,90];//ค้นหาแบบไบนารี ฟังก์ชั่น // ส่งคืนดัชนีองค์ประกอบหากพบเป็นอย่างอื่น -1const binarySearch =(arr, start, end, num) => { const mid =start + Math.floor((end - start)/2); if(start <=end){ if(arr[mid] ===num){ return mid; } if(numarr[กลาง]){ return binarySearch(arr, mid+1, end, num); } } return -1;};console.log(binarySearch(arr, 0, arr.length-1, 13));console.log(binarySearch(arr, 0, arr.length-1, 11));ก่อน> ผลลัพธ์
ผลลัพธ์ของรหัสนี้ในคอนโซลจะเป็น −
8-1