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

การแทรกแผนที่ () ใน C ++ STL


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

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

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

แผนที่::insert() คืออะไร

ฟังก์ชัน map::insert() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว insert() ใช้เพื่อแทรกค่าใหม่ลงในคอนเทนเนอร์แผนที่ และเพิ่มขนาดของคอนเทนเนอร์ตามจำนวนองค์ประกอบที่แทรก

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

นอกจากนี้ คอนเทนเนอร์แผนที่ยังรักษาองค์ประกอบทั้งหมดโดยใช้คีย์ตามลำดับจากน้อยไปมาก ดังนั้น เมื่อใดก็ตามที่เราแทรกองค์ประกอบ องค์ประกอบนั้นจะไปยังตำแหน่งที่เกี่ยวข้องตามคีย์ของมัน

ไวยากรณ์

<ก่อน>1. Map_name.insert({key&k, value_type&val});หรือ2. Map_name.insert(ตัววนซ้ำ&มัน {คีย์&k, value_type&val});หรือ3. Map_name.insert(ตัววนซ้ำ&position1, iterator&position2);

พารามิเตอร์

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

  • เค − นี่คือกุญแจที่เกี่ยวข้องกับองค์ประกอบ ฟังก์ชันจะตรวจสอบว่าคีย์อยู่ในคอนเทนเนอร์แล้วหรือไม่ จากนั้นจะไม่แทรกองค์ประกอบ

  • วาล − ค่าที่จะใส่เข้าไป

  • มัน − ประเภทตัววนซ้ำของค่าที่ใช้กำหนดตำแหน่งที่เราต้องการให้องค์ประกอบถูกแทรก

  • ตำแหน่งที่ 1 ตำแหน่งที่ 2 − ตำแหน่งที่ 1 คือตำแหน่งเริ่มต้น และตำแหน่งที่ 2 คือตำแหน่งสิ้นสุดเมื่อเราต้องการแทรกชุดขององค์ประกอบ เราสามารถใช้ช่วงขององค์ประกอบต่างๆ ที่เราต้องการแทรกได้

คืนค่า

ฟังก์ชันนี้ส่งคืนตัววนซ้ำไปยังองค์ประกอบที่เพิ่งแทรกในคอนเทนเนอร์แผนที่

ตัวอย่าง

อินพุต

map newmap;newmap['a'] =1;newmap['b'] =2;newmap['c'] =3;newmap.insert({d, 50});

ผลลัพธ์

a:1b:2c:3d:50

ตัวอย่าง

#include ใช้เนมสเปซ std;int main() { แผนที่  TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); cout<<"แผนที่ TP คือ:\n"; ศาล <<"MAP_KEY\tMAP_ELEMENT\n"; สำหรับ (auto i =TP_Map.begin(); i!=TP_Map.end(); i++) { cout <first <<"\t" <second < 

ผลลัพธ์

แผนที่ TP คือ:MAP_KEY MAP_ELEMENT1 102 303 504 70

ตัวอย่าง

#include ใช้เนมสเปซ std;int main() { แผนที่  TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); อัตโนมัติ i =TP_Map.find(4); TP_Map.insert(i, { 5, 80 }); cout<<"แผนที่ TP คือ:\n"; ศาล <<"MAP_KEY\tMAP_ELEMENT\n"; สำหรับ (auto i =TP_Map.begin(); i!=TP_Map.end(); i++) { cout <first <<"\t" <second < 

ผลลัพธ์

แผนที่ TP คือ:MAP_KEY MAP_ELEMENT1 102 303 504 705 80