std::stable_partition
提供:cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <algorithm>
|
||
| template< class BidirIt, class UnaryPredicate > BidirIt stable_partition( BidirIt first, BidirIt last, UnaryPredicate p ); |
||
並べ替えるには、そのような方法でレンジ
[first, last)の要素、そのすべての要素どちらの述語p戻りtrue要素に先行するための述語p戻りfalse。要素の相対的な順序は保持されます. Original:
Reorders the elements in the range
[first, last) in such a way that all elements for which the predicate p returns true precede the elements for which predicate p returns false. Relative order of the elements is preserved. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集] パラメータ
| first, last | - | 順序を変更する要素の範囲
Original: the range of elements to reorder The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |||||||||
| p | - | unary predicate which returns true 要素は他の要素の前に発注する必要があります . Original: if the element should be ordered before other elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. The signature of the predicate function should be equivalent to the following:
The signature does not need to have const &, but the function must not modify the objects passed to it. | |||||||||
| Type requirements | |||||||||||
-BidirIt must meet the requirements of ValueSwappable and BidirectionalIterator.
| |||||||||||
-The type of dereferenced BidirIt must meet the requirements of MoveAssignable and MoveConstructible.
| |||||||||||
[編集] 値を返します
第二のグループの最初の要素へのイテレータ
Original:
Iterator to the first element of the second group
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 複雑
述語の、最も
last-firstスワップで正確(last-first)*log(last-first)アプリケーションまたはメモリが不足し十分なメモリがあればスワップの線形数字があっても.Original:
Exactly
last-first applications of the predicate and at most (last-first)*log(last-first) swaps if there is insufficient memory or linear number of swaps if sufficient memory is available.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 例
#include <iostream> #include <algorithm> int main() { std::vector<int> v{0, 0, 3, 0, 2, 4, 5, 0, 7}; std::stable_partition(v.begin(), v.end(), [](int n){return n>0;}); for (int n : v) { std::cout << n << ' '; } std::cout << '\n'; }
Output:
3 2 4 5 7 0 0 0 0
[編集] も参照してください
| 二つのグループに要素の範囲を分割します Original: divides a range of elements into two groups The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) | |