C++ STL-এ unordered_multimap rehash(N) ফাংশন পাত্রে বালতির সংখ্যা n বা তার বেশি সেট করে। একটি রিহ্যাশ বাধ্য করা হয় যদি n পাত্রে বর্তমান বালতি সংখ্যার থেকে বেশি হয়। নতুন বালতি গণনা হয় n এর সমান বা বেশি হতে পারে। বালতি গণনার উপর ফাংশনটির কোনো প্রভাব নাও থাকতে পারে এবং যদি n পাত্রে বর্তমান বালতি সংখ্যার চেয়ে কম হয় তাহলে রিহ্যাশ জোর করে নাও হতে পারে। রিহ্যাশ () কিছুই ফেরত দেয় না এবং n কে একটি প্যারামিটার হিসাবে নেয় যা কন্টেইনার হ্যাশ টেবিলের জন্য ন্যূনতম সংখ্যক বালতি নির্দিষ্ট করে।
অ্যালগরিদম
Begin Declaring an empty map container m. Force the reahash() function to restrict number of bucket in a container to a minimum amount. Insert the key value pairs in the container atleast same as the minimum number of buckets. Print the elements in the map container. End.
উদাহরণ কোড
#include<iostream> #include <bits/stdc++.h> using namespace std; int main() { unordered_map<char, int> m; m.rehash(1); 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}