Как я могу реализовать двоичный поиск в своем коде?
Я пытаюсь использовать двоичный поиск, чтобы найти определенное пользователем число в уже отсортированном массиве. У меня уже есть алгоритм бинарного поиска, но я не знаю, как взять пользовательский ввод и искать его.
Что я уже пробовал:
двоичный поиск:
static void BinarySearch(int[] arr, int key) { int minNum = 0; int maxNum = arr.Length - 1; while (minNum <= maxNum) { int mid = (minNum + maxNum) / 2; if (key == arr[mid]) { Console.WriteLine(++mid); } else if (key < arr[mid]) { minNum = mid - 1; } else { maxNum = mid + 1; } } Console.WriteLine("None"); }
Я пытался назвать это космосом:
Program p = new Program(); string userInput3; Console.WriteLine("\nWhich number do you wish to search for in the array?"); userInput3 = Console.ReadLine(); int Int1 = Convert.ToInt32(userInput3); int Int2 = int.Parse(userInput3); p.BinarySearch(arr, userInput3);
gggustafson
Почему бы не использовать массив.Ищет?