Упражнения на Java: поиск указанного элемента в заданном массиве элементов с помощью бинарного поиска
Поиск Java: Упражнение-1 с решением
Напишите Java-программу для поиска указанного элемента в заданном массиве элементов с помощью бинарного поиска.
Пример решения:
Java-код:
public class Main {
public static int binarySearch(int[] nums, int flag) {
int hi_num = nums.length - 1;
int lo_num = 0;
while (hi_num >= lo_num) {
int guess = (lo_num + hi_num) >>> 1;
if (nums[guess] > flag) {
hi_num = guess - 1;
} else if (nums[guess] < flag) {
lo_num = guess + 1;
} else {
return guess;
}
}
return -1;
}
public static void main(String[] args) {
int[] nums = {1, 5, 6, 7, 8, 11};
int search_num = 7;
int index = binarySearch(nums, search_num);
if (index == -1) {
System.out.println(search_num + " is not in the array");
} else {
System.out.println(search_num + " is at index " + index);
}
}
}
Пример вывода:
7 находится в индексе 3
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущая: Упражнения по поиску Java.
Далее: напишите программу на Java, чтобы найти указанный элемент в заданном массиве элементов с помощью линейного поиска.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code