unordered_set load_factor() function in C++ STL Last Updated : 05 Jun, 2023 Comments Improve Suggest changes Like Article Like Report The unordered_set::load_factor() is a built-in function in C++ STL which returns the current load factor in the unordered_set container. The load factor is the ratio between the number of elements in the container (its size) and the number of buckets (bucket_count): load_factor = size / bucket_count The load factor influences the probability of collision in the hash table (i.e., the probability of two elements being located in the same bucket). The container automatically increases the number of buckets to keep the load factor below a specific threshold (its max_load_factor), by causing a rehash each time when an expansion is needed. Syntax: unordered_set_name.load_factor() Parameter: The function does not accept any parameter. Return Value: The function returns the current load factor. It can be of integer or double type. Below programs illustrate the unordered_set::load_factor() function: Program 1: CPP // C++ program to illustrate the // unordered_set::load_factor() function #include <iostream> #include <unordered_set> using namespace std; int main() { // declaration unordered_set<int> sample; // inserts element sample.insert(1); sample.insert(11); sample.insert(111); sample.insert(12); sample.insert(13); cout << "The size is: " << sample.size(); cout << "\nThe bucket_count is: " << sample.bucket_count(); cout << "\nThe load_factor is: " << sample.load_factor(); sample.insert(2); sample.insert(22); cout << "\n\nThe size is: " << sample.size(); cout << "\nThe bucket_count is: " << sample.bucket_count(); cout << "\nThe load_factor is: " << sample.load_factor(); sample.insert(33); cout << "\n\nThe size is: " << sample.size(); cout << "\nThe bucket_count is: " << sample.bucket_count(); cout << "\nThe load_factor is: " << sample.load_factor(); return 0; } Output:The size is: 5 The bucket_count is: 7 The load_factor is: 0.714286 The size is: 7 The bucket_count is: 17 The load_factor is: 0.411765 The size is: 8 The bucket_count is: 17 The load_factor is: 0.470588 Program 2: CPP // C++ program to illustrate the // unordered_set::load_factor() function #include <iostream> #include <unordered_set> using namespace std; int main() { // declaration unordered_set<char> sample; // inserts element sample.insert('a'); sample.insert('b'); sample.insert('c'); sample.insert('r'); sample.insert('d'); cout << "The size is: " << sample.size(); cout << "\nThe bucket_count is: " << sample.bucket_count(); cout << "\nThe load_factor is: " << sample.load_factor(); sample.insert('f'); sample.insert('k'); cout << "\n\nThe size is: " << sample.size(); cout << "\nThe bucket_count is: " << sample.bucket_count(); cout << "\nThe load_factor is: " << sample.load_factor(); sample.insert('z'); cout << "\n\nThe size is: " << sample.size(); cout << "\nThe bucket_count is: " << sample.bucket_count(); cout << "\nThe load_factor is: " << sample.load_factor(); return 0; } Output:The size is: 5 The bucket_count is: 7 The load_factor is: 0.714286 The size is: 7 The bucket_count is: 17 The load_factor is: 0.411765 The size is: 8 The bucket_count is: 17 The load_factor is: 0.470588 Time complexity: O(1) Comment More infoAdvertise with us A Aman Goyal 2 Follow Improve Article Tags : Misc C++ STL CPP-Functions cpp-unordered_set cpp-unordered_set-functions +2 More Practice Tags : CPPMiscSTL Explore C++ Programming Language 5 min read C++ OverviewIntroduction to C++ Programming Language 3 min read Features of C++ 5 min read History of C++ 7 min read Interesting Facts about C++ 2 min read Setting up C++ Development Environment 8 min read Difference between C and C++ 3 min read C++ BasicsUnderstanding First C++ Program 4 min read C++ Basic Syntax 4 min read C++ Comments 3 min read Tokens in C 4 min read C++ Keywords 2 min read Difference between Keyword and Identifier in C 3 min read C++ Variables and ConstantsC++ Variables 4 min read Constants in C 4 min read Scope of Variables in C++ 7 min read Storage Classes in C++ with Examples 6 min read Static Keyword in C++ 5 min read C++ Data Types and LiteralsC++ Data Types 7 min read Literals in C 4 min read Derived Data Types in C++ 4 min read User Defined Data Types in C++ 4 min read Data Type Ranges and Their Macros in C++ 3 min read C++ Type Modifiers 4 min read Type Conversion in C++ 4 min read Casting Operators in C++ 5 min read C++ OperatorsOperators in C++ 9 min read C++ Arithmetic Operators 4 min read Unary Operators in C 5 min read Bitwise Operators in C 6 min read Assignment Operators in C 4 min read C++ sizeof Operator 3 min read Scope Resolution Operator in C++ 4 min read C++ Input/OutputBasic Input / Output in C++ 5 min read cin in C++ 4 min read cout in C++ 2 min read Standard Error Stream Object - cerr in C++ 2 min read Manipulators in C++ 4 min read C++ Control StatementsDecision Making in C (if , if..else, Nested if, if-else-if ) 7 min read C++ if Statement 3 min read C++ if else Statement 3 min read C++ if else if Ladder 3 min read Switch Statement in C++ 5 min read Jump statements in C++ 4 min read C++ Loops 7 min read for Loop in C++ 6 min read Range-Based for Loop in C++ 3 min read C++ While Loop 3 min read C++ do while Loop 4 min read C++ FunctionsFunctions in C++ 8 min read return Statement in C++ 4 min read Parameter Passing Techniques in C 3 min read Difference Between Call by Value and Call by Reference in C 4 min read Default Arguments in C++ 5 min read Inline Functions in C++ 6 min read Lambda Expression in C++ 4 min read C++ Pointers and ReferencesPointers and References in C++ 5 min read C++ Pointers 8 min read Dangling, Void , Null and Wild Pointers in C 6 min read Applications of Pointers in C 4 min read Understanding nullptr in C++ 3 min read References in C++ 5 min read Can References Refer to Invalid Location in C++? 2 min read Pointers vs References in C++ 5 min read Passing By Pointer vs Passing By Reference in C++ 5 min read When do we pass arguments by pointer? 5 min read Like