Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Counts the average elements per bucket.
float load_factor() const;
Remarks
The member function returns (float)unordered_set::size() / (float)unordered_set::bucket_count(), the average number of elements per bucket.
Example
// std_tr1__unordered_set__unordered_set_load_factor.cpp 
// compile with: /EHsc 
#include <unordered_set> 
#include <iostream> 
 
typedef std::unordered_set<char> Myset; 
int main() 
    { 
    Myset c1; 
 
    c1.insert('a'); 
    c1.insert('b'); 
    c1.insert('c'); 
 
// display contents " [c] [b] [a]" 
    for (Myset::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << *it << "]"; 
    std::cout << std::endl; 
 
// inspect current parameters 
    std::cout << "bucket_count() == " << c1.bucket_count() << std::endl; 
    std::cout << "load_factor() == " << c1.load_factor() << std::endl; 
    std::cout << "max_bucket_count() == " 
        << c1.max_bucket_count() << std::endl; 
    std::cout << "max_load_factor() == " 
        << c1.max_load_factor() << std::endl; 
    std::cout << std::endl; 
 
// change max_load_factor and redisplay 
    c1.max_load_factor(0.10f); 
    std::cout << "bucket_count() == " << c1.bucket_count() << std::endl; 
    std::cout << "load_factor() == " << c1.load_factor() << std::endl; 
    std::cout << "max_bucket_count() == " 
        << c1.max_bucket_count() << std::endl; 
    std::cout << "max_load_factor() == " 
        << c1.max_load_factor() << std::endl; 
    std::cout << std::endl; 
 
// rehash and redisplay 
    c1.rehash(100); 
    std::cout << "bucket_count() == " << c1.bucket_count() << std::endl; 
    std::cout << "load_factor() == " << c1.load_factor() << std::endl; 
    std::cout << "max_bucket_count() == " 
        << c1.max_bucket_count() << std::endl; 
    std::cout << "max_load_factor() == " 
        << c1.max_load_factor() << std::endl; 
    std::cout << std::endl; 
 
    return (0); 
    } 
 
[c] [b] [a] bucket_count() == 8 load_factor() == 0.375 max_bucket_count() == 8 max_load_factor() == 4 bucket_count() == 8 load_factor() == 0.375 max_bucket_count() == 8 max_load_factor() == 0.1 bucket_count() == 128 load_factor() == 0.0234375 max_bucket_count() == 128 max_load_factor() == 0.1
Requirements
Header: <unordered_set>
Namespace: std
See Also
Reference
unordered_set::max_load_factor