-1
std::priority_queue< int, std::vector<int>, std::greater<int> > pq;
ベクトルのパラメータが使用されるのはなぜですか?オーバーロードの優先度キューでコンテナパラメータが使用されるのはなぜですか?
std::priority_queue< int, std::vector<int>, std::greater<int> > pq;
ベクトルのパラメータが使用されるのはなぜですか?オーバーロードの優先度キューでコンテナパラメータが使用されるのはなぜですか?
優先キュー実装では、アンダーラインデータ構造を構築するために異なるタイプのコンテナを使用できます。そのテンプレートパラメータを使用して、最も好きなものを指定することができます。 要素を格納するために使用する基礎となる容器の種類 - here
容器から引用
。コンテナは SequenceContainerの要件を満たさなければならず、そのイテレータは RandomAccessIteratorの要件を満たす必要があります。さらに、次の 関数を通常のセマンティクスで提供する必要があります。 front() push_back() pop_back 標準のコンテナstd :: vectorおよびstd :: dequeは、これらの要件を満たしています。
ところで、vector
がデフォルトです。
あなたの質問は何ですか?なぜ 'std :: vector'なのか、なぜコンテナパラメータがあるのでしょうか? – StoryTeller