私がプロジェクトにPRIORITY_QUEUE年代を使用していた、と私は初期化のためにファンクタを使用することにしましたが、インターネット上で見て、私はこれを見つけましたなぜstd::vector<int>
がそこに使用され、の下にある容器がどのように管理されているのか(私は情報を探しましたが、私は考えていません)下にある容器は何ですか?私はすでにそれを使用して動作しますが、私は本当にないんだけど</p> <pre><code>std::priority_queue<int, std::vector<int>, std::greater<int> > pq; </code></pre> <p>:
答えて
std::priority_queue
は実際にはコンテナではなく、コンテナアダプタです。つまり、コンテナをとり、別のインターフェイスを構築します。
下位のコンテナは、当然これに適応するコンテナです。 C++テンプレートマジックを使用すると、std::vector
をstd::deque
に変更することができ、すべてがうまくいくでしょう。使用するどのようなコンテナについて
、std::deque
対std::vector
の同じ原理が適用されます:std::priority_queue
部分は値が含まれていない、それだけで独特の方法でそれらを提示します。
しかし、priority_queueはヒープとして実装されていませんでしたか?なぜベクトルを使うのですか?私は何かが恋しいと思っています... –
@FranciscoGallegoSalido、それはヒープとして実装されていますが、ヒープの内容はどこに保存されていると思いますか?彼らはどこかに保存しなければならない、彼らはあなたのコンピュータの中に魔法のように浮かんでいるだけではありません。 –
@FranciscoGallegoSalido:通常、ヒープは、線形リスト内のオブジェクトを見る方法として実装されています。たとえば、どのようなコンテナでもこのようなヒープを構築する 'std :: make_heap()'関数を見てください。 – rodrigo
これは、優先キューデータ構造がベクトルを使用して値を保持していることを示しています。これは、大きな値のメソッドを使用してソートされています。その結果、高い値が最初に表示され、順番に減少します。
意味がある場合は別のデータ構造を使用できますが、この場合はベクトルを使用することを選択しました。
- 1. Python dir()はJavaScriptでこれに相当しますか?</p> <pre><code>dir(django.auth.models) </code></pre> <p>、それはあなたの<code>models</code>の内側にすべてのものを与えるだろう、何かがあります:私は、Pythonについて愛した何
- 2. は!SRCは、私は私のIDEで自動補完を使用する場合、それはでも、私はそれが単に動作する強打<code>!</code>を削除この</p> <pre><code><script !src=""></script> </code></pre> <p>のように埋めHTML
- 3. は、これは私です</p> <pre><code>'[errors]' => [], </code></pre> <p>..私は、ユーザーテーブルを持っていると私は私が<code>$user</code>をデバッグする場合でも、それはnullを返し<code>save()</code>保存したいときにエラーがないCakePhp3
- 4. ipythonノートブックでイメージをリロードするには?私は<code>src</code>に<code>files/</code>せずにコードを使用する場合、それは動作しません</p> <pre><code><img src="files/adaptive_filter.png" alt="Schema of adaptive filter" height="100"> </code></pre> <p>:私のノートPCで
- 5. 私はint型のペアを含むセットを持っている場合は、</p> <pre><code>set<pair<int,int> > cells; </code></pre> <p>は、どのように私は「検索」を使用して設定でペアを抜けるかどうかを見つけることができ++
- 6. tr:ホバーのボーダー半径を<tr>にするには?私は私がしたいことはある、それは<code><table></code>が含まれている大きな<code><div class="content"></code>を持って
- 7. は、私がここに<code>int</code>が<code>priority_queue</code>の外で定義されたベクトル<code>arr</code>のインデックスを格納<code>priority_queue<int, vector<int>, TCOMP></code>などのカスタム<code>priority_queue</code>を定義したいPRIORITY_QUEUE
- 8. 国</strong>私はそれが</p> <p><strong>を動作させるために2つのテストモデルを使用しています、</em></strong> widgeをシーケンスで実験し、<strong><em>ハンドルてるOdoo 9
- 9. ユーザーがすでにログインしますが、それは、私が欲しい今、私は <code>localhost/admin/login</code>開いています、私はその後、私は</p> <pre><code>localhost/admin/ </code></pre> <p>にリダイレクトしていますログインしたlaravel
- 10. 私は、それはperlの</p> <p>私がいたを使用して行うことができますどのように</p> <pre><code>String sql = Query1; </code></pre> <p>のようにそれを交換したい行</p> <pre><code>String sql="select * from "+ "emp_data"; </code></pre> <p>のように私が持っている私のファイルでのPerl
- 11. オブジェクトは、私は自分のアプリケーションで<code>infragistics</code><code>igGrid</code>を使用しているが、私は</p> </blockquote>「_super」プロパティまたはメソッドをサポートしていません<code>javascript</code>エラー</p> <blockquote> <p>オブジェクトを取得しています<p>igGrid
- 12. 私はコードの下に使用して試してみました</p> <pre><code>@Document(indexName="Something",type="type") </code></pre> <p>で動的に<code>indexname</code>を取得しようとしています@Document
- 13. cosmosdb MongoのAPIは私が<strong>のMongoDB API</strong><br> を使用しています、私はそれには紺碧の<br> に<strong>cosmosdb</strong>を使用していますいくつかのコマンド
- 14. のJava SWT:</p> <pre><code>GC.drawLine(int x1, int y1, int x2, int y2); </code></pre> <p>どのように私はラインの色を変更します:私は使用して線を描画していた場合GC.drawline
- 15. はどのように</p> <p><code>ctrl + E + T</code></p> <p>それはReSharperのユーティリティであるをクリックすることで、私が貼り付けられたスタックトレースに移動し、私は</p> <p>に使用覚えて貼り付けたスタックトレースのビジュアル・スタジオ
- 16. それが正常に動作しているが、私は<code>Blob</code>に<code>String</code>を変換するつもりだときと</p> <pre><code>Blob blob = rs.getBlob(cloumnName[i]); byte[] bdata = blob.getBytes(1, (int) blob.length()); String s = new String(bdata); </code></pre> <p>を使用したJava
- 17. このコードでは、私は</p> <pre><code>import "OAMutableURLRequest.h" import "OAConsumer.h" </code></pre> <p>そして印刷使用してい
- 18. ジキルは、私は、私は本当に愚かなことだ場合はとても残念全体として<strong>ジキル</strong>、<strong>液体</strong>と<strong>ルビー</strong>に新たなんだ投稿
- 19. PHP <?= <?php echo違いは何ですか?どちらを使うのが良いですか?私はまだ <pre><code><?Php echo ''; </code></pre> <p>適切な、より良いものを使用することです</p>を使用していながら
- 20. 私はこれまでのところ、私は<strong>register.jabber.orgを使用していた</strong>ジャバーアカウント</em></strong>を作成<em><strong>に、今私は私を作成したい私のサーバー</p> <p>にBOSH接続マネージャすなわちパンジャブを設定しているサーバー
- 21. アンドロイド - SwitchCompat OnCheckedChangeListenerアクションは活動は私が私の活動の一部<code>SwitchCompat</code>が、私はそれらのいずれかに<code>OnCheckedChangeListener</code>を設定されているが、(<code>SharedPreferences</code>を使用して)、私は活動を開始するたびに、OnCheckedChangeListenerの作用がある
- 22. は、リターンを隠し、私はこれを実行すると、私はすぐに私はそれが表示されて停止しますが、保存するにはどうすればよいの画面</p> <pre><code>#!/usr/bin/python3 import os myVar = os.system('echo, Hello') </code></pre> <blockquote> <pre><code>Hello </code></pre> </blockquote> <p>のリターンを示しています下の
- 23. は、私はそれが遠征ルートのためにあるように、私はそれをしたい私は</p> <ol> <li>content1</li> <li>content2</li> <li>content3</li> </ol> <p>のような順序付きリストを持っている
- 24. は、私は、入力として<code>Int</code>を取り、それが<code>> 0</code>またはそれ以外であれば、それは<code>< 0</code>であればダッシュ<code>"-"</code>を返す<code>Int</code>ことを返す関数を作成するにはどうすればよいの入力
- 25. は、どのように私はフォルダが</p> <p>今基本的に今私は<code>tomhome</code>から<code>/home/tom</code>にすべてのデータをコピー<code>/data/tomhome</code>と呼ばれる持って、私は私の別のpartioionに</p>その後 <pre><code>/home/tom </code></pre> <p>のように私のホームディレクトリを持っているのlinux
- 26. は私がJMSSerializerBundle</strong><strong>SonataUserBundle</strong>と<strong>を使用していますプロパティ
- 27. は私が私のVisual Studio 2013 MVCプロジェクトにnuget使用</p> <blockquote> <p>WebMarkupMin.MVC</p> </blockquote> <p>をインストールしているWebMarkupMin.Core
- 28. はなぜAndroidのメーカーは、私が<strong>アンドロイド</strong><strong>スタジオ</strong><strong>1.3.2</strong>を使用しています
- 29. elm-replでタスクの値を印刷するにはどうすればよいですか?私は私の<code>forty</code>を取ると...それを使用するにはどうすればよい</p> <pre><code>> forty = Task.succeed 40 <task> : Task.Task a number </code></pre> <p>:
- 30. Firebaseの「クラッシュレポート」はクラッシュ時に自動的にレポートされますか?</p> <pre><code>String x = i; </code></pre> <p>と<code>i</code>がnullで、その後、私は<code>NullPointerException</code>を得る:
[Documentation](http://en.cppreference.com/w/cpp/container/priority_queue)は役に立ちませんか? – NathanOliver
'priority_queue'は何らかの形でデータを保存する必要があり、' vector'を使います。また、要件を満たす 'list'などを使用することもできます。これらの基本的なコンテナは決して管理しません。 'priority_queue'はそれを行います。 – nwp