ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน multimap::find() ใน C++ STL
มัลติแมปใน C++ STL คืออะไร
Multimaps เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งคล้ายกับคอนเทนเนอร์แผนที่ นอกจากนี้ยังอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แบบหลายแผนที่ อาจมีองค์ประกอบหลายรายการที่เกี่ยวข้องกับคีย์เดียวกัน ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง
multimap::find() คืออะไร
multimap::find( ) ฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ไวยากรณ์
iterator multimap_name.find(key);
พารามิเตอร์
ยอมรับหนึ่งคีย์พารามิเตอร์ซึ่งระบุคีย์ที่จะค้นหาในคอนเทนเนอร์
คืนค่า
ฟังก์ชันนี้ส่งคืนตัววนซ้ำซึ่งอ้างอิงถึงตำแหน่งที่มีคีย์อยู่ในคอนเทนเนอร์
ป้อนข้อมูล
multimap<char, int > newmap; newmap.insert(make_pair(‘A’, 22)); newmap.insert(make_pair(‘B’, 78)); newmap.insert(make_pair(‘C’, 66)); newmap.insert(make_pair(‘D’, 81)); newmap.insert(make_pair(’E’, 43)); newmap.find(‘D’);
ผลผลิต
81
ป้อนข้อมูล
multimap<char, int > newmap; newmap.insert(make_pair(1, 15)); newmap.insert(make_pair(2, 18)); newmap.insert(make_pair(3, 45)); newmap.insert(make_pair(4, 66)); newmap.find(4);
ผลผลิต
66
แนวทางสามารถติดตามได้
-
ขั้นแรก เราเริ่มต้นแผนที่
-
จากนั้นเราก็แทรกองค์ประกอบด้วยคีย์
-
จากนั้นเราจะหาตำแหน่งของคีย์โดยใช้ฟังก์ชัน mapfind ( )
-
จากนั้นเราพิมพ์คีย์ที่ต้องการด้วยองค์ประกอบ
เมื่อใช้วิธีการข้างต้น เราจะสามารถค้นหาคีย์ใดๆ ในคอนเทนเนอร์ เราสามารถค้นหาตำแหน่งของคีย์ในช่วงต่างๆ ได้
ตัวอย่าง
#include<iostream.h> #include<map.h> Using namespace std; int main( ){ Multimap<char, int> mp; / / inserting the element mp.insert({‘b’, 23}); mp.insert({‘a’, 46}); mp.insert({‘c’, 78}); mp.insert({‘e’, 11}); mp.insert({‘d’, 34}); cout<< “ The Key value after key c : \n” ; cout<< “ Key\t Element”; for(auto i = mp.find(‘c’); i != mp.end( ); i++) cout<<i-first<< “\t” << i->second << ‘\n’; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
KEY ELEMENT c 78 d 34 e 11
ตัวอย่าง
#include<iostream.h> #include<map.h> Using namespace std; int main( ){ Multimap<char, int> mp; / / inserting the element mp.insert({‘1’, 33}); mp.insert({‘2’, 66}); mp.insert({‘3’, 55}); mp.insert({‘4’, 11}); mp.insert({‘5’, 44}); cout<< “ The Key value after key 4 : \n” ; cout<< “ Key\t Element”; for(auto i = mp.find(‘4’); i != mp.end( ); i++) cout<<i-first<< “\t” << i->second << ‘\n’; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
KEY ELEMENT 4 11 5 44