ฟังก์ชัน unordered_multimap reserve() ใน C++ STL กำหนดจำนวนที่ฝากข้อมูลในคอนเทนเนอร์เป็นจำนวนที่เหมาะสมที่สุดเพื่อให้มีองค์ประกอบอย่างน้อย n รายการ
ถ้า n มากกว่าจำนวนที่เก็บข้อมูลปัจจุบันคูณด้วย max_load_factor จำนวนที่เก็บข้อมูลของคอนเทนเนอร์จะเพิ่มขึ้นและมีการบังคับแฮชซ้ำ
Reserve () ไม่ส่งคืนสิ่งใดและใช้ n เป็นพารามิเตอร์ซึ่งระบุจำนวนองค์ประกอบขั้นต่ำตามความจุขั้นต่ำที่ร้องขอ
อัลกอริทึม
Begin Declare the vector m. m.reserve(6) = the size is reserved for the bucket to contain minimum number of one elements. 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; //declaring m as map container m.reserve(6);//restricting the most appropriate value of m.insert (pair<char, int>('b', 10)); // inserting values 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 << "} "; //printing the values of map container } return 0; }
ผลลัพธ์
The size is: 2 Key and values are: {a, 20} {b, 10}