Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function BinarySearch(arr, number) {
- if (arr.length === 1 && arr[0] !== number) {
- // Проверяем длину массива и его значение и если условие выполняется то выходим из рекурсии и возвращаем значение
- return "Выбранного числа нет в массива, попробуйте другое значение";
- }
- let middle = Math.floor(arr.length / 2); // задаём точку поиска в центре массива
- if (arr[middle] === number) {
- return `Число ${arr[middle]} найдено!`;
- } else if (arr[middle] > number) { // если значение в середине массива больше нужного числа,
- arr = arr.splice(0, middle); // то оставляем в массиве числа от начала до середины
- return BinarySearch(arr, number);
- } else if (arr[middle] < number) {
- arr = arr.splice(middle); // если значение в середине массива меньше нужного числа,
- return BinarySearch(arr, number); // то оставляем в массиве числа от середины до конца
- }
- }
- BinarySearch([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 56], 10);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement