質問

たいようなものであるという std::地図, ものだけが見たい場合には項目が存在しない実際に必要となります。何でも問い合わせできますか?

役に立ちましたか?

解決

のように見えます std::セット.

他のヒント

したい場合における同種の行動として std::map, するために使うことができる std::set.

の場合の混合を挿入、削除クエリを操作し std::set があります。しかし、できれば読み込みに設定してからまでのクエリではこれをみを使用 std::vector, 選別での活用により、バイナリ検索をチェックの存在はベクトルとなっています。

なので、しばらく日本に必要な存在のみならずとも、ありません。 unordered_set.ですからお好きなC++ベンダーまたは0x boost.org.

場合にデータを数値でご利用いただけます。std::vectorに最適化したスペース:

D:\Temp>type vectorbool.cpp
#include <iostream>
#include <vector>

using namespace std;

int main() {
        vector<bool> vb(10);
        vb[5] = true;

        for (vector<bool>::const_iterator ci = vb.begin(); ci != vb.end(); ++ci) {
                cout << *ci << endl;
        }
}

D:\Temp>cl /nologo /W4 /EHsc vectorbool.cpp
vectorbool.cpp

D:\Temp>vectorbool.exe
0
0
0
0
0
1
0
0
0
0

きょうみ stl::set います。A stl::bitset 別のオプションです。

このように必要なものを使用しうる情報を定義することがあります。A set はソートされたデータ構造、挿入、削除についてO(LOG N)時間。ものが必要な場合 繰り返し処理を実行し すべての価値とマークが付けられた"存在"の set あの月がかかるものと思われます。

まだマークおよびルックアップの であることのセットの bitset った方が良いのかもしれます。挿入、削除のみをO(1)で収集 int 値です。繰り返し処理すべての値のままO(N)お客様のご要望に応じての全体セットのメンバーに設定 true.使用できるとともに、 stl::地図 地図から価値観までの数値の bitset ます。

の操作を実行することが必要なの値に設定し、対応することができるでしょう選択の適切なデータ構造

ときに使用std::図をご希望の目的です。

チェックの場合、特定項目のデータが存在する地図にはない利用でき以下のコード:

if (mapObj.count(item) != 0)
{
   // item exists
}

としての答えは、std::セットの仕事をしています。興味深いことに、セット、地図として表現してい木になります。

そのキーの値、そのものが考えら咲くフィルター"とセットです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top