Бинарный (двоичный) поиск находит не все значения - C#
Формулировка задачи:
Дан массив ( неотсортированный) необходимо используя двоичный поиск найти все элементы массива, которые равны заданному
вот накидал
не ищет не все значения(
private static void binarySearch(int[] array, int x) { Array.Sort(array); int l = 0, r = array.Length; while (r - l > 1) { int mid = (l + r)/2; // делим отрезок [l, r] -попала if (array[mid] < x) { l = mid; } else { r = mid; } } for (int i = l; i <= r; i++) { if (array[i] == x) { Console.WriteLine("Искомый элемент {0} находится на позиции - {1}", x, i + 1); } } Console.ReadKey(); }
Решение задачи: «Бинарный (двоичный) поиск находит не все значения»
textual
Листинг программы
if (val < arr[mid]) right = mid; else if (val > arr[mid]) left = mid + 1; else return mid
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д