Бинарно търсене за 15 минути

Рекурсия -    • Рекурсия за 15 минути   static void Main(string[] args) { List<int> nums = new List<int> { 2, 3, 5, 7, 8, 10, 12, 15, 18, 20 }; Console.WriteLine(BinarySearch(nums, 7, 0, nums.Count -1 )); } public static int BinarySearch(List<int> arr, int item, int leftIndex, int rightIndex) { if (rightIndex < leftIndex) { return -1; } int middle = leftIndex + (rightIndex - leftIndex) / 2; if (arr[middle] == item) { return middle; } if (arr[middle] > item) { return BinarySearch(arr, item, leftIndex, middle - 1); } else { return BinarySearch(arr, item, middle + 1, rightIndex); } }

Смотрите также