std::partition_point — cppreference.com
De cppreference.com
<metanoindex/>
<tbody> </tbody>
| Déclaré dans l'en-tête <algorithm> |
||
|
|
(1) | (depuis C++11) |
Examine la partitionné (comme par std::partition) Plage [first, last) et localise la fin de la première partition, c'est le premier élément qui ne satisfait pas p ou si last dernière si tous les éléments de satisfaire p .
Original:
Examines the partitioned (as if by std::partition) range [first, last) and locates the end of the first partition, that is, the first element that does not satisfy p or last if last if all elements satisfy p.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Paramètres
| first, last | - | la gamme partitionné d'éléments à examiner Original: the partitioned range of elements to examine The text has been machine-translated via Google Translate. |
| p | - | prédicat unéaire qui retourne true pour les éléments qui se trouvent au début de la plage Original: for the elements found in the beginning of the range The text has been machine-translated via Google Translate. L'expression |
| Type requirements | ||
-ForwardIt must meet the requirements of ForwardIterator.
| ||
Retourne la valeur
L'itérateur delà de la fin de la première partition à l'intérieur ou [first, last) last si tous les éléments de satisfaire p .
Original:
The iterator past the end of the first partition within [first, last) or last if all elements satisfy p.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Complexité
Logarithmique de la distance entre first et last
Original:
Logarithmic in the distance between first and last
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Exemple
#include <algorithm> #include <array> #include <iostream> #include <iterator> int main() { std::array<int, 9> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; auto is_even = [](int i){ return i % 2 == 0; }; std::partition(v.begin(), v.end(), is_even); auto p = std::partition_point(v.begin(), v.end(), is_even); std::cout << "Before partition:\n "; std::copy(v.begin(), p, std::ostream_iterator<int>(std::cout, " ")); std::cout << "\nAfter partition:\n "; std::copy(p, v.end(), std::ostream_iterator<int>(std::cout, " ")); }
Résultat :
Before partition:
8 2 6 4
After partition:
5 3 7 1 9
Voir aussi
vérifie si une plage est triée dans l'ordre croissant Original: checks whether a range is sorted into ascending order The text has been machine-translated via Google Translate. (fonction générique) [edit] | |