logo

std::find in C++

std::find ist eine darin definierte Funktion Header-Datei, die findet das Element im angegebenen Bereich. Es gibt einen Iterator zum ersten Vorkommen des angegebenen Elements in der angegebenen Sequenz zurück. Wenn das Element nicht gefunden wird, wird ein Iterator bis zum Ende zurückgegeben.

Syntax:



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

Parameter:

    Erstens: Iterator zur Anfangsposition in der Sequenz. last: Iterator zur Positionierung direkt nach der letzten Position in der Sequenz. (Beachten Sie, dass vector.end() auf die nächste Position zum letzten Element der Sequenz zeigt und nicht auf die letzte Position der Sequenz). Wert: Wert, der gesucht werden soll.

Rückgabewert :

  • Wenn der Wert ist gefunden In der Sequenz wird der Iterator an seine Position zurückgebracht.
  • Wenn der Wert ist nicht gefunden , wird der Iterator zur letzten Position zurückgegeben.

NOTIZ : input_iterator ist der Iteratortyp des verwendeten Containers und T ist der in der Funktionsvorlage definierte Typname.



Beispiel:

C++

wie man Java druckt






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

>

>

Ausgabe

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

Zeitkomplexität: An)
Hilfsraum: O(1)

HINWEIS: Die Funktion std::find() ist in der Header-Datei definiert. Daher müssen wir diese Header-Datei einbinden, bevor wir die Suchfunktion verwenden können.

Da wir sehen können, dass die Zeitkomplexität von std::find() O(n) ist und es auch bei unsortierten Sequenzen funktioniert, können wir daraus schließen, dass es das verwendet lineare Suche Algorithmus in seiner Implementierung.

In Verbindung stehende Artikel:

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