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

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


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

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

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

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

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

ไวยากรณ์

Map_name.lower_bound(key& k);

พารามิเตอร์

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

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

คืนค่า

ฟังก์ชันนี้จะคืนค่า iterator ที่ชี้ไปยังองค์ประกอบแรกของคีย์ 'k' ซึ่งจะถือว่าไปก่อนคีย์ k

ตัวอย่าง

อินพุต

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

ผลลัพธ์

a:1

ตัวอย่าง

#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.lower_bound(2);
   cout << "The lower bound of key 2 is ";
   cout << i->first << ": " << i->second << endl;
   auto i_1 = TP_Map.lower_bound(3);
   cout << "The lower 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 lower bound of key 2 is 2 :30
The lower bound of key 3 is 4 :70