Бинарный поиск matlab

Есть массив случайных чисел. Далее с помощью любого из реализованных ранее алгоритмов сортировки произведите сортировку массива по возрастанию. Следующий шаг – бинарный поиск введенного с клавиатуры элемента (пояснения к алгоритму на рисунке 2). Результат программы: количество искомых элементов и индексы их расположения. Следует учесть варианты, когда искомого элемента в массиве нет или их больше 1.

Понятно, каким образом создать случайный массив:

disp('Создаю массив из m элементов, каждый из которых принимает значение от a до b...');
m=input('Введите m: ');
a=input('Введите a: ');
b=input('Введите b: ');
array=randi([a,b],1,m);
left = 1;
right =  m;
temp=0; 
    while (left < right);
        for j = left:1:right-1
            if (array(j) > array(j + 1))
                temp = array(j);
                array(j) = array(j + 1);
                array(j + 1) = temp;
            end
        end
        right=right-1;
        for j = right:-1:left+1
            if (array(j) < array(j-1))
                temp = array(j);
                array(j) = array(j - 1);
                array(j - 1) = temp;
            end
        end
        left=left+1;
    end
        disp(array);

Рисунок 2:как выглядит бинарный поиск Каким образом реализовать для этой программы бинарный поиск? Прикладываю рисунок.


Ответы (0 шт):