Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน map emplace_hint () ใน C ++ STL


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน map::emplace_hint() ใน C++ STL

แผนที่ใน C++ STL คืออะไร

แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน

map::emplace_hint() คืออะไร

map::emplace_hint( ) เป็นฟังก์ชันที่อยู่ภายใต้ไฟล์ส่วนหัว ฟังก์ชันนี้สร้างและแทรกองค์ประกอบที่มีคำใบ้ลงในคอนเทนเนอร์แผนที่ที่เกี่ยวข้อง

emplace_hint() แทรกองค์ประกอบใหม่หากคีย์ขององค์ประกอบที่จะฝังนั้นไม่ซ้ำกัน การแทรกจะเกิดขึ้นก็ต่อเมื่อไม่มีองค์ประกอบที่มีคีย์ของค่าที่จะแทรก

ไวยากรณ์

map_name.emplace_hint(iterator it, Args&& args);

พารามิเตอร์

ฟังก์ชันนี้ยอมรับพารามิเตอร์ต่อไปนี้ -

มัน − ตัววนซ้ำซึ่งถือได้ว่าเป็นคำใบ้ของตำแหน่งขององค์ประกอบที่จะแทรก

อาร์กิวเมนต์ − อาร์กิวเมนต์หรือค่าที่เราต้องการวางไว้ในตำแหน่ง "มัน"

คืนค่า

หากการแทรกสำเร็จ ฟังก์ชันจะส่งกลับตัววนซ้ำที่ชี้ไปที่องค์ประกอบใหม่ซึ่งถูกแทรก มิฉะนั้นจะคืนค่า iterator เป็นค่าที่เทียบเท่าซึ่งมีอยู่ในคอนเทนเนอร์แล้ว

ตัวอย่าง

อินพุต

map<char, int> newmap;
emplace_hint(newmap.end(), ‘a’, 1);

ผลลัพธ์

a

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace_hint(TP_Map.begin(), 4, 50);
   TP_Map.emplace_hint(TP_Map.begin(), 2, 30);
   TP_Map.emplace_hint(TP_Map.begin(), 1, 10);
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++)
      cout << i->first << "\t" << i->second << endl;
   return 0;
}

ผลลัพธ์

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
4             50