質問
ビットセットを使用する関数があります。今、それを動的ビットセットに変換する必要があります。しかし、私は方法がわかりません。誰かが私を助けることができますか?
set<string> generateCandidates(set<string> ck,unsigned int k){
set<string> nk ;
for (set<string>::const_iterator p = ck.begin( );p != ck.end( ); ++p){
for (set<string>::const_iterator q = ck.begin( );q != ck.end( ); ++q){
bitset<4> bs1(*p);
bitset<4> bs2(*q);
bs1|= bs2 ;
if(bs1.count() == k){
nk.insert(bs1.to_string<char,char_traits<char>,allocator<char> >());
}
}
}
return nk;
}
解決
違いはありません そんなに大きい:
boost::dynamic_bitset<> bs1(*p);
boost::dynamic_bitset<> bs2(*q);
bs1 |= bs2;
if(bs1.count() == k){
std::string str;
boost::to_string(bs1, str);
nk.insert(str);
}
所属していません StackOverflow