Загрузка данных


using System.Security.Cryptography;

int[] a = new int[8] { 101, 145, 178, 203, 256, 300, 355, 400 };
int sravneni = 0;
Console.Write("Введите код товара: ");
int key = Convert.ToInt32(Console.ReadLine());
int LinearSearch(int[] a, int key)
{
    for (int i = 0; i < a.Length; i++)
    {
        sravneni++;
        if (a[i] == key) return i;   // нашли — вернуть индекс
    }
    return -1;                       // не найдено
}
int BinarySearch(int[] a, int key)
{
    int low = 0, high = a.Length - 1;
    while (low <= high)
    {
        sravneni++;
        int mid = (low + high) / 2;
        if (a[mid] == key) return mid;       // нашли
        if (a[mid] < key) low = mid + 1;     // искомое правее
        else high = mid - 1;                 // искомое левее
    }
    return -1;                               // не найдено
}
int numIndex = LinearSearch(a, key);
Console.WriteLine($"Линейный поиск: найдено на позиции {numIndex}");
Console.WriteLine($"Сравнений: {sravneni}");
sravneni = 0;
numIndex = BinarySearch(a, key);
Console.WriteLine($"Бинарный поиск: найдено на позиции {numIndex}");
Console.WriteLine($"Сравнений: {sravneni}");
Console.WriteLine("(Если индекс равен -1 - число отсутствует в массиве)");
int[] n = new int[3] { 1000, 100000, 1000000 };
for (int i = 0; i < n.Length; i++)
{
    int[] data = new int[n[i]];
    var rnd = new Random();
    for (int j = 0; j < n[i]; j++)
        data[i] = rnd.Next(0, 1000);
    LinearSearch(data, key);
    Console.WriteLine($"--- Результаты замеров ({n[i]} элементов ) ---");
    Console.WriteLine($"Сравнений: {sravneni}");
    BinarySearch(data, key);
    Console.WriteLine($"--- Результаты замеров ({n[i]} элементов) ---");
    Console.WriteLine($"Сравнений: {sravneni}");
}