std::find (tsz. std::finds)
std::find
egy STL algoritmus a C++-ban, amely megkeresi az első előfordulását egy adott elemnek egy tartományban (pl. vector
, list
, array
, stb.).
std::find(begin_iterátor, end_iterátor, keresett_érték);
begin_iterátor
: a tartomány kezdeteend_iterátor
: a tartomány végekeresett_érték
: az az érték, amelyet keresünk
end_iterátor
-t adja vissza.
#include <iostream>
#include <vector>
#include <algorithm> // for std::find
int main() {
std::vector<int> numbers = {10, 20, 30, 40, 50};
auto it = std::find(numbers.begin(), numbers.end(), 30);
if (it != numbers.end()) {
std::cout << "Megtaláltuk: " << *it << std::endl;
} else {
std::cout << "Nem található." << std::endl;
}
return 0;
}
Kimenet:
Megtaláltuk: 30
✅ Egyszerű keresés egy tartományban ✅ Visszaadja az első előfordulást ✅ Ha nincs ilyen elem, az end()
iterátor jelzi, hogy nincs találat
std::find
lineáris keresést végez, azaz O(n) időben működik.std::set
, std::unordered_set
, ahol a find
O(log n) vagy O(1) lehet.
👉 std::find
= keresés bármilyen STL konténerben 👉 Egyszerű, univerzális megoldás 👉 Ha nem található az elem, az end()
iterátorral jelez.