Java から来た私は、リストに整数を追加したり、整数がリストに含まれているかどうかを確認したりできるように、すばやく簡単に参照できる組み込みのデータ構造に慣れています。
これはよくあることなので、C++ Builder で簡単にできる方法を知りたいです。C++ Builder で動作する限り、標準の C++ ライブラリを使用してもかまいません。
Java から来た私は、リストに整数を追加したり、整数がリストに含まれているかどうかを確認したりできるように、すばやく簡単に参照できる組み込みのデータ構造に慣れています。
これはよくあることなので、C++ Builder で簡単にできる方法を知りたいです。C++ Builder で動作する限り、標準の C++ ライブラリを使用してもかまいません。
std::vector
またはを使用できますstd::set
。重複を許可する場合は使用vector
し、許可しない場合は set を使用します。の検索vector
も、 に比べて大幅に遅くなりますset
。
std::vector<int> intCheckList;
std::set<int> intCheckSet;
mattingly890 の提案は私にとってはうまくいきました。以下は、セットに挿入し、値がセットに含まれているかどうかをテストする方法に関するサンプル コードです。必ず#include <set>
上に置いてください。
// Test std set
std::set<int> myset;
std::set<int>::iterator it;
myset.insert(10);
myset.insert(20);
myset.insert(30);
it = myset.find(10);
boolean found = it!=myset.end();
if(found)
MessageDlg("Found 10", mtInformation, TMsgDlgButtons() << mbOK, 0);
it = myset.find(15);
found = it!=myset.end();
if(found)
MessageDlg("Found 15", mtInformation, TMsgDlgButtons() << mbOK, 0);
it = myset.find(20);
found = it!=myset.end();
if(found)
MessageDlg("Found 20", mtInformation, TMsgDlgButtons() << mbOK, 0);
参考文献: