Biblioteca C ++ Unordered_map - função max_load_factor ()
Descrição
A função C ++ std::unordered_map::max_load_factor() atribui novo fator de carga para o contêiner unordered_map.
O fator de carga é calculado da seguinte forma -
load_factor = um.size() / um.bucket_count()
O valor padrão de max_load_factor é 1.0
O fator de carga influencia a probabilidade de colisão na tabela hash. O contêiner usa o valor de max_load_factor como o limite que força um aumento no número de depósitos e, portanto, causando um novo hash.
Declaração
A seguir está a declaração para o formulário da função std :: unordered_map :: max_load_factor () std :: unordered_map header.
C ++ 11
void max_load_factor(float z);
Parâmetros
z - O novo fator de carga máxima.
Valor de retorno
Nenhum
Complexidade de tempo
Constante, ou seja, O (1)
Exemplo
O exemplo a seguir mostra o uso da função std :: unordered_map :: max_load_factor ().
#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
unordered_map<char, int> um;
cout << "Initial max_load_factor = " << um.max_load_factor() << endl;
um.max_load_factor(2);
cout << "max_load_factor after set operation = " << um.max_load_factor() << endl;
return 0;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
Initial max_load_factor = 1
max_load_factor after set operation = 2