ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน map::value_comp() ใน C++ STL
แผนที่ใน C++ STL คืออะไร
แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน
map::value_comp() คืออะไร
map::value_comp() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว
เป็นประเภทของตัวชี้ฟังก์ชันหรือออบเจ็กต์ฟังก์ชันที่ทำการเปรียบเทียบค่าสองค่าของประเภทเดียวกันในชุดใดชุดหนึ่งและคืนค่าเป็น จริง หากองค์ประกอบแรกมีขนาดเล็กกว่าองค์ประกอบที่สองในคอนเทนเนอร์ มิฉะนั้นจะคืนค่าเป็นเท็จ
ไวยากรณ์
Map_name.value_comp(key& k);
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
คืนค่า
ฟังก์ชันนี้ส่งคืนอ็อบเจ็กต์การเปรียบเทียบของคอนเทนเนอร์ชุดที่เกี่ยวข้อง
ตัวอย่าง
อินพุต
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; set<int>::value_compare cmp = myset.value_comp()
ผลลัพธ์
1 2 3
ตัวอย่าง
#include <iostream> #include <map> using namespace std; int main() { map<char, int> TP = { { 'a', 10 }, { 'b', 20 }, { 'c', 30 }, { 'd', 40 }, { 'e', 50 }, }; auto temp = *TP.rbegin(); auto i = TP.begin(); cout <<"Elements in map are : \n"; do { cout<< i->first << " = " << i->second<< endl; } while (TP.value_comp()(*i++, temp)); return 0; }
ผลลัพธ์
Elements in map are : a = 10 b = 20 c = 30 d = 40 e = 50