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

แมป upper_bound () ฟังก์ชั่นใน C ++ STL


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

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

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

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

ฟังก์ชัน map::upper_bound() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว upper_bound() ส่งคืนตัววนซ้ำไปยังขอบเขตบนของคอนเทนเนอร์แผนที่ ฟังก์ชันนี้ส่งคืนตัววนซ้ำซึ่งชี้ไปที่องค์ประกอบสุดท้ายซึ่งถือว่าอยู่หลังคีย์ k

ไวยากรณ์

Map_name.upper_bound(key& k);

พารามิเตอร์

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

  • k − กุญแจที่เราต้องการค้นหา

คืนค่า

ฟังก์ชันนี้ส่งคืนตัววนซ้ำซึ่งชี้ไปยังองค์ประกอบถัดไปของคีย์ 'k' ซึ่งถือว่าเป็นไปตามคีย์ k

ตัวอย่าง

อินพุต

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
newmap.upper_bound(b);

ผลลัพธ์

c:3

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({5, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   cout<<"\nTP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.rbegin(); i!= TP_Map.rend(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   auto i = TP_Map.upper_bound(2);
   cout << "The upper bound of key 2 is ";
   cout << i->first << " " << i->second << endl;
   auto i_1 = TP_Map.upper_bound(3);
   cout << "The upper bound of key 3 is ";
   cout << i_1->first << " " << i_1->second << endl;
   return 0;
}

ผลลัพธ์

TP Map is:
MAP_KEY    MAP_ELEMENT
5             50
4             70
2             30
1             10
The upper bound of key 2 is 4 :70
The upper bound of key 3 is 4 :70