_Find_next () es una función incorporada en la clase Biteset de C++ que devuelve un número entero que hace referencia a la posición del siguiente bit establecido en el conjunto de bits después del índice. Si no hay ningún bit establecido después del índice, _Find_next(index) devolverá el tamaño del conjunto de bits.
Sintaxis:
iterator bitset._Find_next(index) or int bitset._Find_next(index)
Parámetros: la función acepta un índice de parámetro obligatorio que especifica el índice después del cual se encuentra el primer bit establecido en el conjunto de bits.
Valor de retorno: la función devuelve un número entero que se refiere a la posición del siguiente bit establecido en el conjunto de bits después del índice especificado. Si no hay ningún bit establecido después del índice (el índice especificado), _Find_next (índice) devolverá el tamaño del conjunto de bits.
A continuación se muestra la ilustración de la función anterior:
Ejemplo:
// 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\n"; cout << bset._Find_next(0) << "\n"; // function returns the next set bit // in bitset after index 6 cout << "Next set bit after index 6 in bset\n"; cout << bset._Find_next(6) << "\n"; // finds all set bits in bitset bset1 cout << "Find all set bits in bset1\n"; for (int i = bset1._Find_first(); i < bset1.size(); i = bset1._Find_next(i)) cout << i << " "; cout << "\n"; // function returns bset2.size() // when there isn't any set bit after index cout << "Next set bit after index 5 in bset2\n"; cout << bset2._Find_next(5) << "\n"; return 0; }
Next set bit after index 0 in bset 5 Next set bit after index 6 in bset 10 Find all set bits in bset1 0 12 17 30 Next set bit after index 5 in bset2 32
Referencia: https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/bitset-source.html