std::make_heap
提供: cppreference.com
                    
                                        
                    
                    
                                                            
                    |  | このページは、Google 翻訳を使って英語版から機械翻訳されました。 
 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 | 
| Defined in header <algorithm>
  | ||
| template< class RandomIt > void make_heap( RandomIt first, RandomIt last ); | (1) | |
| template< class RandomIt, class Compare > void make_heap( RandomIt first, RandomIt last, | (2) | |
レンジ
[first, last)のヒープを構築します。関数の最初のバージョンは要素を比較するoperator<使用し、2番目はcomp与えられた比較関数を使用しています.Original:
Constructs a heap in the range 
[first, last). 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 make the heap from 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の要求を満足しなければなりません。 | ||
| -The type of dereferenced RandomItmust meet the requirements ofMoveAssignableandMoveConstructible. | ||
[編集] 値を返します
(なし)
[編集] 複雑性
最も3*std::distance(first, last)比較で.
Original:
At most 3*std::distance(first, last) comparisons.
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,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::cout << "initially, v: "; for (auto i : v) std::cout << i << ' '; std::cout << '\n'; std::make_heap(v.begin(), v.end()); std::cout << "after make_heap, v: "; for (auto i : v) std::cout << i << ' '; std::cout << '\n'; std::pop_heap(v.begin(), v.end()); auto largest = v.back(); v.pop_back(); std::cout << "largest element: " << largest << '\n'; std::cout << "after removing the largest element, v: "; for (auto i : v) std::cout << i << ' '; std::cout << '\n'; }
出力:
initially, v: 3 1 4 1 5 9 after make_heap, v: 9 5 4 1 1 3 largest element: 9 after removing the largest element, v: 5 3 4 1 1
[編集] 参照
|  要素の並べ替えられた範囲にヒープを回す  Original:  turns a heap into a sorted range of elements  The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) | |


