Biblioteca C ++ Unordered_set - max_load_factor
Descrição
É usado para obter ou definir o fator de carga máximo.
Declaração
A seguir está a declaração para std :: unordered_set :: max_load_factor.
C ++ 11
float max_load_factor() const noexcept;
void max_load_factor ( float z );
Parâmetros
z - Este é o novo fator de carga máxima.
Valor de retorno
Ele retorna o fator de carga atual.
Exceções
A exceção é lançada se qualquer objeto de comparação de elemento lançar uma exceção.
Observe que os argumentos inválidos causam um comportamento indefinido.
Complexidade de tempo
tempo constante.
Exemplo
O exemplo a seguir mostra o 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte 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