std::find v C++

std::najdi je funkcija, definirana znotraj naslovna datoteka, ki najde element v danem območju. Vrne iterator prvi pojavitvi podanega elementa v danem zaporedju. Če elementa ni mogoče najti, se vrne iterator do konca.

Sintaksa:

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

Parametri:

    prvi: iterator na začetni položaj v zaporedju. zadnji: iterator na položaj tik za končnim položajem v zaporedju. (Upoštevajte, da vector.end() kaže na naslednji položaj zadnjega elementa zaporedja in ne na zadnji položaj zaporedja). vrednost: vrednost za iskanje.

Povratna vrednost:

  • Če je vrednost našel v zaporedju se iterator vrne na svoje mesto.
  • Če je vrednost ni najdeno , se vrne iterator na zadnji položaj.

OPOMBA : input_iterator je tip iteratorja uporabljenega vsebnika in T je ime tipa, definirano v funkcijski predlogi.

primer:

C++




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

Izhod

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

Časovna zapletenost: O(n)
Pomožni prostor: O(1)

OPOMBA: funkcija std::find() je definirana znotraj datoteke glave. Torej moramo vključiti to datoteko glave, preden uporabimo funkcijo iskanja.

Ker lahko vidimo, da je časovna kompleksnost std::find() O(n) in deluje tudi na nerazvrščenih zaporedjih, lahko sklepamo, da uporablja linearno iskanje algoritem pri njegovi izvedbi.

Povezani članki:

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