El std::unordered_map::rehash() es una función incorporada de C++ STL que establece el número de cubos en el contenedor en n o más. Sintaxis
void rehash( size_type s );
- Si s es mayor que los cubos actuales en el contenedor, se realiza el refrito. El nuevo recuento de cubetas puede ser mayor o igual que n.
- Si s es menor que el recuento actual de cubos, entonces puede haber o no algún efecto de la función. Depende totalmente del compilador.
Parámetros: Toma un nuevo número de cubos en el contenedor. Tipo de retorno: Su tipo de retorno es ninguno.
Ejemplo 1:
CPP
// C++ code to illustrate the method // unordered_map rehash #include <bits/stdc++.h> using namespace std; int main() { unordered_map<char, int> sample; // Map initialization sample = { { 'a', 2 }, { 'b', 4 }, { 'c', 6 } }; cout << " Size of container : " << sample.size() << endl; cout << " Initial bucket count : " << sample.bucket_count() << endl; // changing rehash sample.rehash(30); cout << " Size of container : " << sample.size() << endl; cout << " Now bucket count is : " << sample.bucket_count() << endl; return 0; }
Producción:
Size of container : 3 Initial bucket count : 5 Size of container : 3 Now bucket count is : 31
Ejemplo-2:
CPP
// C++ code to illustrate the method // unordered_map rehash #include <bits/stdc++.h> using namespace std; int main() { unordered_map<int, int> sample; // Map initialization sample = { { 2, 2 }, { 3, 4 }, { 4, 6 }, { 5, 8 } }; cout << " Size of container : " << sample.size() << endl; cout << " Initial bucket count : " << sample.bucket_count() << endl; // changing rehash sample.rehash(20); cout << " Size of container : " << sample.size() << endl; cout << " Now bucket count is : " << sample.bucket_count() << endl; return 0; }
Producción:
Size of container : 4 Initial bucket count : 7 Size of container : 4 Now bucket count is : 23
Publicación traducida automáticamente
Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA