std::is_heap_until
提供: cppreference.com
                    
                                        
                    
                    
                                                            
                    |  | このページは、Google 翻訳を使って英語版から機械翻訳されました。 
 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 | 
| Defined in header <algorithm>
  | ||
| template< class RandomIt > RandomIt is_heap_until( RandomIt first, RandomIt last ); | (1) | (C++11およびそれ以降) | 
| template< class RandomIt, class Compare > RandomIt is_heap_until( RandomIt first, RandomIt last, Compare comp ); | (2) | (C++11およびそれ以降) | 
レンジ
[first, last)を調べて、ヒープ'ですfirstで最大範囲の始まりを見つけることができます。関数の最初のバージョンは要素を比較するoperator<使用し、2番目はcomp与えられた比較関数を使用しています.Original:
Examines the range 
[first, last) and finds the largest range beginning at first which is heap. The first version of the function uses operator< to compare the elements, the second uses the given comparison function comp.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 examine The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | 
| comp | - | 比較関数. 最初の値が二つ目の値より小さい 場合、 trueを返します. 比較関数のシグネチャは以下と同等でなければなりません. bool cmp(const Type1 &a, const Type2 &b); シグネチャは | 
| 型の要件 | ||
| - RandomItはRandomAccessIteratorの要求を満足しなければなりません。 | ||
[編集] 値を返します
'ヒープです
firstで最大範囲の先頭の上限。つまり、最後のイテレータitどの範囲の[first, it)です'ヒープ.Original:
The upper bound of the largest range beginning at 
first which is heap. That is, the last iterator it for which range [first, it) is heap.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.
[編集] 複雑性
firstlastとの間の距離の線形Original:
Linear in the distance between 
first and lastThe 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.
[編集] ノート
'ヒープは、要素の範囲です
[f,l)それは、次のプロパティがありますOriginal:
A heap is a range of elements 
[f,l) that has the following properties: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.
-  *f範囲内の最大要素であるOriginal:*f is the largest element in the rangeThe text has been machine-translated via Google Translate.
 You can help to correct and verify the translation. Click here for instructions.
-  新しい要素がstd::push_heap()を使用して追加できますOriginal:a new element can be added using std::push_heap()The text has been machine-translated via Google Translate.
 You can help to correct and verify the translation. Click here for instructions.
-  最初の要素はstd::pop_heap()を用いて除去することができるOriginal:the first element can be removed using std::pop_heap()The text has been machine-translated via Google Translate.
 You can help to correct and verify the translation. Click here for instructions.
 
-  
要素の実際の配置は、実装定義です.
Original:
The actual arrangement of the elements is implementation defined.
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 { 3, 1, 4, 1, 5, 9 }; std::make_heap(v.begin(), v.end()); // probably mess up the heap v.push_back(2); v.push_back(6); auto heap_end = std::is_heap_until(v.begin(), v.end()); std::cout << "all of v: "; for (auto i : v) std::cout << i << ' '; std::cout << '\n'; std::cout << "only heap: "; for (auto i = v.begin(); i != heap_end; ++i) std::cout << *i << ' '; std::cout << '\n'; }
出力:
all of v: 9 5 4 1 1 3 2 6 only heap: 9 5 4 1 1 3 2
[編集] 参照
| checks if the given range is a heap (関数テンプレート) | |


