std::find
Megjelenés
Főnév
std::find (tsz. std::finds)
- (informatika) A
std::findegy STL algoritmus a C++-ban, amely megkeresi az első előfordulását egy adott elemnek egy tartományban (pl.vector,list,array, stb.).
Szintaxisa:
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
Mit ad vissza?
- Egy iterátort ad vissza, ami arra az elemre mutat, ami megegyezik a keresett értékkel.
- Ha nem található ilyen elem, akkor az
end_iterátor-t adja vissza.
Példa:
#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
Mire használható?
✅ 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
Megjegyzés:
- A
std::findlineáris keresést végez, azaz O(n) időben működik. - Ha sok keresés történik, akkor érdemes olyan konténert választani, ami gyors keresést támogat pl.:
std::set,std::unordered_set, ahol afindO(log n) vagy O(1) lehet.
Összefoglalva:
👉 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.