ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน multimap::lower_bound() ใน C++ STL
มัลติแมปใน C++ STL คืออะไร
Multimaps เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งคล้ายกับคอนเทนเนอร์แผนที่ นอกจากนี้ยังอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดจากการรวมกันของคีย์-ค่าและค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แบบหลายแผนที่ อาจมีองค์ประกอบหลายรายการที่เกี่ยวข้องกับคีย์เดียวกัน ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง
multimap::lower_bound() คืออะไร
ฟังก์ชัน multimap::lower_bound() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ไวยากรณ์
multi.lower_bound(key& k);
พารามิเตอร์
ฟังก์ชันนี้ยอมรับได้เพียง 1 พารามิเตอร์ -
-
เค − กุญแจที่เราต้องการค้นหา
คืนค่า
ฟังก์ชันนี้จะคืนค่า iterator ที่ชี้ไปยังองค์ประกอบแรกของคีย์ 'k' ซึ่งจะถือว่าไปก่อนคีย์ k
ป้อนข้อมูล
multimap<char, int> newmap; multimap<char, int > newmap; newmap.insert(make_pair(‘a’, 1)); newmap.insert(make_pair(‘b’, 2)); newmap.insert(make_pair(‘c’, 3)); newmap.lower_bound(b);
ผลลัพธ์
a:1
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main(){ //creating a multimap multimap<int, int> mul; mul.insert({ 2, 10 }); mul.insert({ 1, 20 }); mul.insert({ 1, 30 }); mul.insert({ 3, 40 }); mul.insert({ 3, 50 }); mul.insert({ 4, 60 }); // lower bound of 1 auto i = mul.lower_bound(1); cout << "Lower bound of key 1 is: "; cout << (*i).first << " " << (*i).second << endl; // Lower bound of 2 i = mul.lower_bound(2); cout << "Lower bound of key 2 is: "; cout << (*i).first <<" "<<(*i).second << endl; // Lower bound of 3 i = mul.lower_bound(3); cout << "Lower bound of key 3 is: "; cout << (*i).first << " " << (*i).second << endl; return 0; }
ผลลัพธ์
ถ้าเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Lower bound of key 1 is: 1 20 Lower bound of key 2 is: 2 10 Lower bound of key 3 is: 3 40