std::nájsť v C++

std::nájsť je funkcia definovaná vo vnútri hlavičkový súbor, ktorý nájde prvok v danom rozsahu. Vracia iterátor na prvý výskyt zadaného prvku v danej sekvencii. Ak sa prvok nenájde, vráti sa iterátor do konca.

Syntax:

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

Parametre:

    prvý: iterátor na počiatočnú pozíciu v sekvencii. posledný: iterátor na pozíciu hneď za konečnou pozíciou v sekvencii. (Všimnite si, že vector.end() ukazuje na ďalšiu pozíciu k poslednému prvku sekvencie a nie na poslednú pozíciu sekvencie). hodnota: hodnota, ktorá sa má vyhľadať.

Návratová hodnota:

  • Ak je hodnota nájdené v sekvencii sa iterátor vráti na svoju pozíciu.
  • Ak je hodnota nenájdené , iterátor sa vráti na poslednú pozíciu.

POZNÁMKA : input_iterator je typ iterátora použitého kontajnera a T je názov typu definovaný v šablóne funkcie.

Príklad:

C++




// C++ program to Demonstrate> // std::find for vectors> #include> // Driver code> int> main()> {> > std::vector <> int> >vec{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ýkon

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

Časová zložitosť: O(n)
Pomocný priestor: O(1)

POZNÁMKA: Funkcia std::find() je definovaná v hlavičkovom súbore. Pred použitím funkcie find teda musíme zahrnúť tento hlavičkový súbor.

Keďže vidíme, že časová zložitosť std::find() je O(n) a funguje aj na netriedených sekvenciách, môžeme konštatovať, že používa lineárne vyhľadávanie algoritmu pri jeho implementácii.

Súvisiace články:

  • std::hľadať
  • std::find_if, std::find_if_not
  • std::nth_element
  • std::find_end