logo

std::najít v C++

std::najít je funkce definovaná uvnitř hlavičkový soubor, který vyhledá prvek v daném rozsahu. Vrací iterátor na první výskyt zadaného prvku v dané sekvenci. Pokud prvek není nalezen, je vrácen iterátor do konce.

Syntax:



input_iterator std::find (input_iterator first , input_iterator l ast , const T& value );>

Parametry:

    první: iterátor na počáteční pozici v sekvenci. poslední: iterátor na pozici těsně za konečnou pozicí v sekvenci. (Všimněte si, že vector.end() ukazuje na další pozici k poslednímu prvku sekvence a ne na poslední pozici sekvence). hodnota: hodnota, která se má hledat.

Návratová hodnota:

  • Pokud je hodnota nalezeno v sekvenci se iterátor vrátí na svou pozici.
  • Pokud je hodnota nenalezeno , iterátor se vrátí na poslední pozici.

POZNÁMKA : input_iterator je typ iterátoru použitého kontejneru a T je název typu definovaný v šabloně funkce.



Příklad:

C++

vylepšené pro smyčku java






// C++ program to Demonstrate> // std::find for vectors> #include> // Driver code> int> main()> {> >std::vector<>int>>věc{10, 20, 30, 40};> >// Iterator used to store the position> >// of searched element> >std::vector<>int>>::iterujte to;> >// 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; }>

>

>

Výstup

Original vector : 10 20 30 40 Element 30 found at position : 2 (counting from zero)>

Časová náročnost: Na)
Pomocný prostor: O(1)

POZNÁMKA: Funkce std::find() je definována v záhlaví souboru. Před použitím funkce find tedy musíme zahrnout tento hlavičkový soubor.

Jak vidíme, že časová složitost std::find() je O(n) a funguje také na netříděných sekvencích, můžeme dojít k závěru, že používá lineární vyhledávání algoritmu při jeho implementaci.

Související články:

  • std::hledat
  • std::find_if, std::find_if_not
  • std::nth_element
  • std::find_end