Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

โปรแกรมค้นหาไบนารีใน JavaScript


สร้างฟังก์ชัน พูด 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(num  arr[กลาง]){ 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