Метод BinarySearch
Статический метод BinarySearch класса
Array
работает только с уже отсортированным массивом.
При успехе возвращается индекс элемента,
при отсутствии - отрицательное число.
Перед поиском массив упорядочивают через
Sort.
Синтаксис
int index = Array.BinarySearch(array, value);
int index = Array.BinarySearch(array, index, length, value);
Пример
Давайте найдём число в отсортированном массиве:
using System;
class Program
{
static void Main()
{
int[] nums = {1, 2, 3, 4, 5};
Console.WriteLine(Array.BinarySearch(nums, 4));
}
}
Результат выполнения кода:
3
Пример
Давайте проверим отсутствующее значение:
using System;
class Program
{
static void Main()
{
int[] nums = {1, 2, 3, 4, 5};
int index = Array.BinarySearch(nums, 9);
Console.WriteLine(index < 0);
}
}
Результат выполнения кода:
True
Пример
Давайте найдём строку после сортировки:
using System;
class Program
{
static void Main()
{
string[] items = {"e", "a", "d", "b", "c"};
Array.Sort(items);
Console.WriteLine(Array.BinarySearch(items, "d"));
}
}
Результат выполнения кода:
3
Смотрите также
-
метод
Sort,
который готовит массив к двоичному поиску -
метод
IndexOf,
который ищет без требования сортировки -
метод
LastIndexOf,
который ищет последнее вхождение -
метод
Find,
который ищет по предикату