ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน multimap::upper_bound() ใน C++ STL
มัลติแมปใน C++ STL คืออะไร
หลายแผนที่คือคอนเทนเนอร์ที่เชื่อมโยง ซึ่งคล้ายกับคอนเทนเนอร์แผนที่ นอกจากนี้ยังอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดจากการรวมกันของคีย์-ค่าและค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แบบหลายแผนที่ อาจมีองค์ประกอบหลายรายการที่เกี่ยวข้องกับคีย์เดียวกัน ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง
multimap::upper_bound() คืออะไร
ฟังก์ชัน multimap::upper_bound() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ไวยากรณ์
Map_name.upper_bound(key& k);
พารามิเตอร์
ฟังก์ชันนี้ยอมรับได้เพียง 1 พารามิเตอร์ -
-
เค − กุญแจที่เราต้องการค้นหา
คืนค่า
ฟังก์ชันนี้ส่งคืนตัววนซ้ำซึ่งชี้ไปยังองค์ประกอบถัดไปของคีย์ 'k' ซึ่งถือว่าเป็นไปตามคีย์ k
ป้อนข้อมูล
map<char, int> newmap; newmap(make_pair(‘a’, 1)); newmap(make_pair(‘b’, 2)); newmap(make_pair(‘c’, 3)); newmap.upper_bound(b);
ผลลัพธ์
c:3
ตัวอย่าง
#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 }); // upper bound of 1 auto i = mul.upper_bound(1); cout << "Upper bound of key 1 is: "; cout << (*i).first << " "<<(*i).second << endl; // upper bound of 2 i = mul.upper_bound(2); cout << "Upper bound of key 2 is: "; cout << (*i).first << " " <<(*i).second << endl; // upper bound of 3 i = mul.upper_bound(3); cout << "Upper bound of key 3 is: "; cout << (*i).first << " " << (*i).second << endl; return 0; }
ผลลัพธ์
ถ้าเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Upper bound of key 1 is: 2 10 Upper bound of key 2 is: 3 40 Upper bound of key 3 is: 4 60