Функция _Find_next () в битовом наборе C ++ с примерами
_Find_next () - это встроенная функция в классе C ++ Biteset, которая возвращает целое число, которое указывает позицию следующего установленного бита в битовом наборе после индекса. Если после индекса нет установленного бита, _Find_next (index) вернет размер битового набора.
Синтаксис:
итератор bitset._Find_next (индекс) или int bitset._Find_next (индекс)
Параметры: функция принимает один обязательный индекс параметра, который указывает индекс, после которого в битовом наборе должен быть найден первый установленный бит.
Возвращаемое значение: функция возвращает целое число, которое относится к позиции следующего установленного бита в битовом наборе после указанного индекса. Если после индекса (указанного индекса) нет установленного бита, _Find_next (index) вернет размер битового набора.
Ниже приведена иллюстрация вышеуказанной функции:
Пример:
// C++ program for illustration // of _Find_next() function #include <bits/stdc++.h> using namespace std; #define M 32 int main() { // default constructor initializes with all bits 0 bitset<M> bset; bitset<M> bset1; bitset<M> bset2; // 00000000000000000000000000100000 bset[5] = 1; // 00000000000000000000010000100000 bset[10] = 1; // 01000000000000100001000000000001 bset1[0] = bset1[12] = bset1[17] = bset1[30] = 1; // function returns the next set bit // in bitset after index 0 cout << "Next set bit after index 0 in bset
" ; cout << bset._Find_next(0) << "
" ; // function returns the next set bit // in bitset after index 6 cout << "Next set bit after index 6 in bset
" ; cout << bset._Find_next(6) << "
" ; // finds all set bits in bitset bset1 cout << "Find all set bits in bset1
" ; for ( int i = bset1._Find_first(); i < bset1.size(); i = bset1._Find_next(i)) cout << i << " " ; cout << "
" ; // function returns bset2.size() // when there isn't any set bit after index cout << "Next set bit after index 5 in bset2
" ; cout << bset2._Find_next(5) << "
" ; return 0; } |
Следующий установленный бит после индекса 0 в bset 5 Следующий установленный бит после индекса 6 в bset 10 Найти все установленные биты в bset1 0 12 17 30 Следующий установленный бит после индекса 5 в bset2 32
Ссылка: https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/bitset-source.html