ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน multimap::emplace_hint() ใน C++ STL
มัลติแมปใน C++ STL คืออะไร
Multimaps เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งคล้ายกับคอนเทนเนอร์แผนที่ นอกจากนี้ยังอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดจากการรวมกันของคีย์-ค่าและค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แบบหลายแผนที่ มีหลายองค์ประกอบที่เชื่อมโยงกับคีย์เดียวกันได้ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง
multimap::emplace_hint() คืออะไร
ฟังก์ชัน emplace_hint() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ไวยากรณ์
multimap_name.emplace_hint(iterator pos, Args& val);
พารามิเตอร์
ฟังก์ชันยอมรับพารามิเตอร์ต่อไปนี้-
-
ตำแหน่ง − นี่คืออาร์กิวเมนต์ประเภท iterator ที่ใช้ในการให้คำแนะนำตำแหน่ง
-
วาล − นี่คือองค์ประกอบที่เราต้องการแทรก
คืนค่า
ฟังก์ชันนี้จะส่งคืนตัววนซ้ำไปยังตำแหน่งที่องค์ประกอบถูกฝัง/แทรก
ป้อนข้อมูล
std::multimap<char, int> odd, eve; odd.insert({‘a’, 1}); odd.insert({‘b’, 3}); odd.insert({‘c’, 5}); odd.emplace_hint(odd.end(), {‘d’, 7});
ผลผลิต
Odd: a:1 b:3 c:5 d:7
ตัวอย่าง
Code: #include <bits/stdc++.h> using namespace std; int main(){ //create the container multimap<int, int> mul; //insert using emplace mul.emplace_hint(mul.begin(), 1, 10); mul.emplace_hint(mul.begin(), 2, 20); mul.emplace_hint(mul.begin(), 3, 30); mul.emplace_hint(mul.begin(), 1, 40); mul.emplace_hint(mul.begin(), 4, 50); mul.emplace_hint(mul.begin(), 5, 60); cout << "\nElements in multimap is : \n"; cout << "KEY\tELEMENT\n"; for (auto i = mul.begin(); i!= mul.end(); i++){ cout << i->first << "\t" << i->second << endl; } return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Elements in multimap is : KEY ELEMENT 1 40 1 10 2 20 3 30 4 50 5 60