В настоящее время я пишу метод линейного поиска для поиска по вектору, но он возвращает true для каждого элемента в векторе. Мне нужно, чтобы он просто возвращал позицию первого найденного значения.Линейный векторный поиск всегда возвращает true
int linearSearch(const vector<int>& vec, int x)
{
vector<int>::const_iterator t = find(vec.begin(), vec.end(), x);
if (t != vec.end())
return (t-vec.begin());
else
return -1;
}
Он возвращает 'int', возможно, попробуйте обработать его как' int'. – LogicStuff
Я не понимаю этот комментарий? – GrapeSoda3
Код, который вы опубликовали, в порядке. Код, который вызывает эту функцию, теперь более уместен. Если вы делаете что-то странное, как 'if (linearSearch (...)), то, конечно, это проблема. – LogicStuff