бит в динамический бит - PullRequest
       34

бит в динамический бит

0 голосов
/ 26 апреля 2010

У меня есть функция, в которой я использую набор битов. Теперь мне нужно преобразовать его в динамический набор битов ... но я не знаю как.Кто-нибудь может мне помочь?

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;
}

1 Ответ

3 голосов
/ 26 апреля 2010

Разница не такая большая :

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);
}
...