if (a.Length == 0)
{
throw new ArgumentException("Длина массива
должна быть больше нуля");
}
}
}
Бинарный поиск
class Program
{
//метод для рекурсивного бинарного поиска
static int BinarySearch(int[] array, int
searchedValue, int first, int last)
{
//границы сошлись
if (first > last)
{
//элемент не найден
return -1;
}
if (middleValue == searchedValue)
{
return middle;
}
else
{
if (middleValue > searchedValue)
{
//рекурсивный вызов поиска для левого
подмассива
return BinarySearch(array, searchedValue,
first, middle - 1);
}
else
{
//рекурсивный вызов поиска для правого
подмассива
return BinarySearch(array, searchedValue,
middle + 1, last);
}
}
}
//сортируем массив
Array.Sort(array);
Console.WriteLine("Упорядоченный массив: {0}",
string.Join(", ", array));
while (true)
{
Console.Write("Введите искомое значение или
-777 для выхода: ");
var k = Convert.ToInt32(Console.ReadLine());
if (k == -777)
{
break;
}