std::stable_partition
提供: cppreference.com
![]() | このページは、Google 翻訳を使って英語版から機械翻訳されました。 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
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: bool pred(const Type &a); The signature does not need to have const&, but the function must not modify the objects passed to it. |
型の要件 | ||
-BidirIt は 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';}
出力:
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. (関数テンプレート) |