У меня есть задание, над которым я работаю, у которого есть контур функции. Я должен вернуть позицию найденного элемента, если он найден или -1, если нет. Вот что очертание код:Использование алгоритма поиска
int linearSearch(const vector<int>& inputVec, int x) {
, и я должен заполнить функции с использованием алгоритма find
. Я понимаю, что find
возвращает итератор. Я просто не уверен, как взять это и вернуть целое число, которое является позицией или -1. Прямо сейчас я пытаюсь это сделать внутри.
auto it = find(inputVec.begin(), inputVec.end(), x);
и я не уверен, куда идти оттуда.
Я сомневаюсь, что вы должны это так. Скорее всего, прямой линейный поиск будет намного быстрее. В любом случае, если вы абсолютно хотите его использовать с помощью 'std :: find', это дубликат [этого вопроса] (http://stackoverflow.com/questions/2152986/what-is-the-most-effective-way -в-получить по-индекс-в-ан-итератора-оф-ан-stdvector). – Paul
Вы можете проверить диапазон между 'it' и' inputVec.begin() '. – Fureeish