Функция find
Функция find ищет первое вхождение
заданного значения в диапазоне [first, last).
В первый параметр мы передаем итератор начала
диапазона, во второй - итератор конца диапазона,
а в третий - значение, которое нужно найти.
Если элемент найден, функция возвращает итератор
на первое вхождение. Если элемент не найден,
возвращается итератор last.
Синтаксис
find(first, last, value)
Пример
Давайте найдем число 3 в векторе
чисел и выведем его позицию:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto it = find(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
cout << "Found at position: " << (it - vec.begin()) << endl;
} else {
cout << "Not found" << endl;
}
return 0;
}
Результат выполнения кода:
"Found at position: 2"
Пример
Давайте попробуем найти число 6,
которого нет в векторе:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto it = find(vec.begin(), vec.end(), 6);
if (it != vec.end()) {
cout << "Found at position: " << (it - vec.begin()) << endl;
} else {
cout << "Not found" << endl;
}
return 0;
}
Результат выполнения кода:
"Not found"
Пример
Давайте найдем символ 'c' в строке:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str = "abcde";
auto it = find(str.begin(), str.end(), 'c');
if (it != str.end()) {
cout << "Found at position: " << (it - str.begin()) << endl;
} else {
cout << "Not found" << endl;
}
return 0;
}
Результат выполнения кода:
"Found at position: 2"
Смотрите также
-
функция
find_if,
которая ищет первый элемент по условию -
функция
find_if_not,
которая ищет первый элемент, не удовлетворяющий условию -
функция
count,
которая считает количество вхождений значения -
функция
search,
которая ищет первое вхождение подпоследовательности