std::search
![]() | Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate. La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
Defined in header <algorithm> | ||
template<class ForwardIt1, class ForwardIt2 > ForwardIt1 search( ForwardIt1 first, ForwardIt1 last, | (1) | |
template<class ForwardIt1, class ForwardIt2, class BinaryPredicate > ForwardIt1 search( ForwardIt1 first, ForwardIt1 last, | (2) | |
[s_first, s_last)
elementi nel [first, last - (s_last - s_first))
gamma. La prima versione utilizza operator==
di confrontare gli elementi, la seconda versione utilizza il predicato binario dato p
.[s_first, s_last)
in the range [first, last - (s_last - s_first))
. The first version uses operator==
to compare the elements, the second version uses the given binary predicate p
.You can help to correct and verify the translation. Click here for instructions.
Indice |
[modifica]Parametri
first, last | - | la gamma di elementi da esaminare Original: the range of elements to examine The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
s_first, s_last | - | la gamma di elementi da cercare Original: the range of elements to search for The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
p | - | binary predicate which returns true if the elements should be treated as equal. The signature of the predicate function should be equivalent to the following: bool pred(const Type1 &a, const Type2 &b); The signature does not need to have const&, but the function must not modify the objects passed to it. |
Type requirements | ||
-ForwardIt1, ForwardIt2 must meet the requirements of ForwardIterator . |
[modifica]Valore di ritorno
[s_first, s_last)
sottosequenza primo [first, last - (s_last - s_first))
gamma. Se non sottosequenza non viene trovato, è last
returned.[s_first, s_last)
in the range [first, last - (s_last - s_first))
. If no such subsequence is found, last
is returned.You can help to correct and verify the translation. Click here for instructions.
[s_first, s_last)
è vuota, viene restituito first
. (dal C++11)[s_first, s_last)
is empty, first
is returned. (dal C++11)You can help to correct and verify the translation. Click here for instructions.
[modifica]Complessità
S*N
dove S =std::distance(s_first, s_last) e N =std::distance(first, last).You can help to correct and verify the translation. Click here for instructions.
[modifica]Possibile implementazione
First version |
---|
template<class ForwardIt1, class ForwardIt2> ForwardIt1 search(ForwardIt1 first, ForwardIt1 last, ForwardIt2 s_first, ForwardIt2 s_last){for(;;++first){ ForwardIt1 it = first;for(ForwardIt2 s_it = s_first;;++it, ++s_it){if(s_it == s_last){return first;}if(it == last){return last;}if(!(*it ==*s_it)){break;}}}} |
Second version |
template<class ForwardIt1, class ForwardIt2, class BinaryPredicate> ForwardIt1 search(ForwardIt1 first, ForwardIt1 last, ForwardIt2 s_first, ForwardIt2 s_last, BinaryPredicate p){for(;;++first){ ForwardIt1 it = first;for(ForwardIt2 s_it = s_first;;++it, ++s_it){if(s_it == s_last){return first;}if(it == last){return last;}if(!p(*it, *s_it)){break;}}}} |
[modifica]Esempio
This section is incomplete |
[modifica]Vedi anche
trova l'ultima sequenza di elementi di un certo intervallo Original: finds the last sequence of elements in a certain range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) | |
determina se due serie di elementi sono gli stessi Original: determines if two sets of elements are the same The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) | |
(C++11) | trova il primo elemento che soddisfi i criteri specifici Original: finds the first element satisfying specific criteria The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) |
restituisce true se un intervallo è lessicograficamente minore di un altro Original: returns true if one range is lexicographically less than another The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) | |
trova la prima posizione in cui due intervalli diversi Original: finds the first position where two ranges differ The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) | |
ricerche di un numero di copie consecutive di un elemento in un intervallo Original: searches for a number consecutive copies of an element in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) |