Biblioteca C ++ Unordered_multimap - função max_load_factor ()

Descrição

A função C ++ std::unordered_multimap::max_load_factor() atribui um novo fator de carga para o contêiner unordered_multimap.

O fator de carga é calculado da seguinte forma -

load_factor = umm.size() / umm.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 cabeçalho da função std :: unordered_multimap :: max_load_factor () std :: unordered_map ().

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_multimap :: max_load_factor ().

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_multimap<char, int> umm;

   cout << "Initial max_load_factor = " <<umm.max_load_factor()
        << endl;

   umm.max_load_factor(2);

   cout << "max_load_factor after set operation = "
        << umm.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