std::znajdź jest funkcją zdefiniowaną wewnątrz plik nagłówkowy to znajduje element w podanym zakresie. Zwraca iterator do pierwszego wystąpienia określonego elementu w danej sekwencji. Jeśli element nie zostanie znaleziony, zwracany jest iterator do końca.
Składnia:
input_iterator std::find (input_iterator first , input_iterator l ast , const T& value );>
Parametry:
- pierwszy: iterator do pozycji początkowej w sekwencji. last: iterator do pozycji tuż za końcową pozycją w sekwencji. (Zauważ, że wektor.end() wskazuje następną pozycję do ostatniego elementu sekwencji, a nie ostatnią pozycję sekwencji). wartość: wartość do przeszukania.
Wartość zwracana:
- Jeśli wartość jest znaleziony w sekwencji iterator powraca do swojej pozycji.
- Jeśli wartość jest nie znaleziono , zwracany jest iterator do ostatniej pozycji.
NOTATKA : input_iterator jest typem iteratora używanego kontenera i T to nazwa typu zdefiniowana w szablonie funkcji.
Przykład:
C++
aktor Ranbir Kapoor wiek
// C++ program to Demonstrate> // std::find for vectors> #include> // Driver code> int> main()> {> >std::vector<>int>>rzecz{10, 20, 30, 40};> >// Iterator used to store the position> >// of searched element> >std::vector<>int>>::iterator;> >// Print Original Vector> >std::cout <<>'Original vector :'>;> > >for> (>int> i = 0; i std::cout << ' ' << vec[i]; std::cout << '
'; // Element to be searched int ser = 30; // std::find function call it = std::find(vec.begin(), vec.end(), ser); if (it != vec.end()) { std::cout << 'Element ' << ser << ' found at position : '; std::cout << it - vec.begin() << ' (counting from zero)
'; } else std::cout << 'Element not found.
'; return 0; }> |
>
>Wyjście
Original vector : 10 20 30 40 Element 30 found at position : 2 (counting from zero)>
Złożoność czasowa: NA)
Przestrzeń pomocnicza: O(1)
UWAGA: funkcja std::find() jest zdefiniowana w pliku nagłówkowym. Dlatego przed użyciem funkcji wyszukiwania musimy dołączyć ten plik nagłówkowy.
Jak widzimy, że złożoność czasowa metody std::find() wynosi O(n) i działa ona również na nieposortowanych sekwencjach, możemy stwierdzić, że wykorzystuje ona metodę wyszukiwanie liniowe algorytm w jego implementacji.
Powiązane artykuły:
- std::szukaj
- std::find_if, std::find_if_not
- std::nth_element
- std::find_end