Biblioteca de C ++ Unordered_set - max_load_factor
Descripción
Se utiliza para obtener o establecer el factor de carga máximo.
Declaración
A continuación se muestra la declaración de std :: unordered_set :: max_load_factor.
C ++ 11
float max_load_factor() const noexcept;
void max_load_factor ( float z );
Parámetros
z - Este es el nuevo factor de carga máximo.
Valor devuelto
Devuelve el factor de carga actual.
Excepciones
Se lanza una excepción si cualquier objeto de comparación de elementos produce una excepción.
Tenga en cuenta que los argumentos no válidos provocan un comportamiento indefinido.
Complejidad del tiempo
tiempo constante.
Ejemplo
El siguiente ejemplo muestra el uso de std :: unordered_set :: max_load_factor.
#include <iostream>
#include <string>
#include <unordered_set>
int main () {
std::unordered_set<std::string> myset =
{"sai", "Ram", "krishna", "prasad", "Bangalore", "india"};
std::cout << "current max_load_factor: " << myset.max_load_factor() << std::endl;
std::cout << "current size: " << myset.size() << std::endl;
std::cout << "current bucket_count: " << myset.bucket_count() << std::endl;
std::cout << "current load_factor: " << myset.load_factor() << std::endl;
float z = myset.max_load_factor();
myset.max_load_factor ( z / 2.0 );
std::cout << "[max_load_factor halved]" << std::endl;
std::cout << "new max_load_factor: " << myset.max_load_factor() << std::endl;
std::cout << "new size: " << myset.size() << std::endl;
std::cout << "new bucket_count: " << myset.bucket_count() << std::endl;
std::cout << "new load_factor: " << myset.load_factor() << std::endl;
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
current max_load_factor: 1
current size: 6
current bucket_count: 7
current load_factor: 0.857143
[max_load_factor halved]
new max_load_factor: 0.5
new size: 6
new bucket_count: 17
new load_factor: 0.352941