Tạo một hàm, chẳng hạn binarySearch () có 4 đối số -
- một dãy số / chuỗi ký tự được sắp xếp
- chỉ số bắt đầu của mảng (0)
- chỉ số kết thúc của mảng (độ dài - 1)
- số được tìm kiếm
Nếu số tồn tại trong mảng, thì chỉ số của số đó phải được trả về, nếu không thì nên trả về -1. Đây là mã đầy đủ -
Ví dụ
const arr =[2,4,6,6,8,8,9,10,13,15,17,21,24,26,28,36,58,78,90]; // tìm kiếm nhị phân function // trả về chỉ số phần tử nếu được tìm thấy khác -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 [mid]) {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)); Đầu ra
Đầu ra của mã này trong bảng điều khiển sẽ là -
8-1