C++ STL में unordered_multimap reserve() फ़ंक्शन कंटेनर में बकेट्स की संख्या को सबसे उपयुक्त संख्या पर सेट करता है ताकि इसमें कम से कम n एलिमेंट्स हों।
यदि n वर्तमान बकेट्स की संख्या को max_load_factor से गुणा करने से अधिक है, तो कंटेनर की बकेट्स की संख्या बढ़ जाती है और एक रीहैश बाध्य होता है।
Reserve () कुछ भी वापस नहीं करता है और n को पैरामीटर के रूप में लेता है जो अनुरोधित न्यूनतम क्षमता के अनुसार न्यूनतम एलिमेंट्स की संख्या निर्दिष्ट करता है।
एल्गोरिथम
Begin Declare the vector m. m.reserve(6) = बकेट के लिए आकार आरक्षित है जिसमें न्यूनतम एक एलिमेंट हो। Insert the key value pairs. Print the result. End.
उदाहरण कोड
#include<iostream> #include <bits/stdc++.h> using namespace std; int main() { unordered_map<char, int> m; //m को मैप कंटेनर के रूप में घोषित करना m.reserve(6);//सबसे उपयुक्त मान को प्रतिबंधित करना m.insert (pair<char, int>('b', 10)); // मान डालना m.insert (pair<char, int>('a', 20)); cout << "The size is: " << m.size(); cout << "\nKey and values are: "; for (auto it = m.begin(); it != m.end(); it++) { cout << "{" << it->first << ", " << it->second << "} "; //मैप कंटेनर के मान प्रिंट करना } return 0; }
आउटपुट
The size is: 2 Key and values are: {a, 20} {b, 10}