Бинарный поиск в массиве
Автор Владимир Суслов задал вопрос в разделе Другие языки и технологии
Бинарный поиск C# и получил лучший ответ
Ответ от ...[гуру]
Двоичный поиск работает на _сортированном массиве_. У Вас генерируется просто набор.
Что в линейном поиске, что в двоичном - Вы когда находите значение - не выходите при этом из цикла. зачем цикл крутить дальше, если нашли элемент.
if (array[index] == x)
return index;
Плохо, что массив назвали Array, т. к. Array - уже существует как пространство имен для методов работы с массивами.
P.S: В C# уже есть BinarySearch
И линейный
Как раз в том самом пространстве Array
...
Просветленный
(44357)
Для двоичного поиска да.
Ну тогда при текущем состоянии в фунции двоичного поиска при нахождении числа программа уйдет в бесконечный цикл.
Поставьте :
if (A[q] == x)
{
result = q;
Console.WriteLine ("Found");
Pr++;
}
Посмотрите что произойдет.
Ну и ещё не очень нравится, что Pr сделана "глобальной".
Вы могли бы возвращать кол-во повторов так:
public static int Test(out int rep) {
rep = 10;
return 1;
}
....
int rep;
int l = Search.Test (out rep);
Console.WriteLine ("{0} : {1}", l, rep);
right = q - 1;
для чего в C++ нужен temp?
Шоб в шустром темпе бредово-абстрактные вопросы задавать) ) Ты задавай конкретнее) ) -- какая
подробнее...
Метод бинарного включения
Метод бинарного включения (бинарные вставки)
Этот метод упоминается Джоном Мочли в 1646г. в
подробнее...
Проверка массива на наличие элемента?
C++: N - размер массива double; b - искомое значение элемента в массиве; bool Res - булевская
подробнее...
Нужна помощь в решении задачи по программированию
ну если задача настолько большая, решай
подробнее...
сортировка бинарными вставками не работает (Си)
чем разбираться в этом коде, я тебе лучше свой предложу:
void BinaryInsertion (int *a)
подробнее...