logo

std::atrodiet C++

std::atrast ir iekšā definēta funkcija galvenes fails atrod elementu dotajā diapazonā. Tas atgriež iteratoru norādītā elementa pirmajam gadījumam dotajā secībā. Ja elements netiek atrasts, tiek atgriezts iterators līdz beigām.

Sintakse:



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

Parametri:

    pirmais: iterators uz sākuma pozīciju secībā. pēdējais: iterators uz pozīciju tieši aiz pēdējās pozīcijas secībā. (Ņemiet vērā, ka vector.end() norāda uz nākamo pozīciju secības pēdējam elementam, nevis uz secības pēdējo pozīciju). vērtība: jāmeklē vērtība.

Atgriešanas vērtība:

  • Ja vērtība ir atrasts secībā iterators tiek atgriezts tā pozīcijā.
  • Ja vērtība ir nav atrasts , iterators tiek atgriezts pēdējā pozīcijā.

PIEZĪME : ievades_iterators ir izmantotā konteinera iteratora veids un T ir tipa nosaukums, kas definēts funkcijas veidnē.



Piemērs:

C++

nomainiet virkni java






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

>

>

Izvade

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

Laika sarežģītība: O(n)
Palīgtelpa: O(1)

PIEZĪME: funkcija std::find() ir definēta galvenes failā. Tātad, pirms meklēšanas funkcijas izmantošanas mums ir jāiekļauj šis galvenes fails.

Tā kā mēs redzam, ka std::find() laika sarežģītība ir O(n) un tā darbojas arī nešķirotās secībās, mēs varam secināt, ka tas izmanto lineārā meklēšana algoritmu tā ieviešanā.

Saistītie raksti:

  • std::meklēt
  • std::find_if, std::find_ja_not
  • std::nth_element
  • std::find_end