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

ตั้งค่าฟังก์ชัน value_comp() ใน C++ STL


ในบทความนี้ เราจะพูดถึง set::value_comp() ใน C++ STL, ไวยากรณ์, การทำงาน และค่าที่ส่งคืน

การตั้งค่าใน C++ STL คืออะไร

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

ชุด::value_comp() คืออะไร

value_comp() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว value_comp() คืนค่าสำเนาของอ็อบเจ็กต์การเปรียบเทียบ ซึ่งถูกใช้โดยคอนเทนเนอร์ที่ตั้งไว้สำหรับการเปรียบเทียบ โดยค่าเริ่มต้น วัตถุนี้จะน้อยกว่าวัตถุของตัวดำเนินการ เป็นประเภทของตัวชี้ฟังก์ชันหรือออบเจ็กต์ฟังก์ชันที่ทำการเปรียบเทียบค่าสองค่าที่เป็นประเภทเดียวกันในชุดใดชุดหนึ่งและคืนค่าเป็น จริง หากองค์ประกอบแรกมีขนาดเล็กกว่าองค์ประกอบที่สองในคอนเทนเนอร์ มิฉะนั้นจะคืนค่าเป็นเท็จ ใน set container ค่าต่างๆ จะเป็นตัวคีย์เอง ดังนั้นพวกมันจึงถูกวางไว้ใน set container ในรูปแบบการเรียงลำดับ ดังนั้นฟังก์ชัน value_comp() และ key_comp() จะทำงานในลักษณะเดียวกัน

ไวยากรณ์

comparison_object set_name.value_comp();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

คืนค่า

ฟังก์ชันนี้ส่งคืนอ็อบเจ็กต์การเปรียบเทียบของคอนเทนเนอร์ชุดที่เกี่ยวข้อง

ตัวอย่าง

Input: set <int> myset = {9, 8, 7, 6, 5};
   set<int>::value_compare cmp = myset.value_comp()
Output: 5 6 7 8 9

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> Set;
   set<int>::value_compare cmp = Set.value_comp();
   for (int i = 0; i <= 10; i++)
      Set.insert(i);
   cout<<"elements in set are: ";
   int front = *Set.rbegin();
   set<int>::iterator i = Set.begin();
   do {
      std::cout << *i << " ";
   }
   while (cmp(*(++i), front));
   std::cout << '\n';
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

elements in set are : 0 1 2 3 4 5 6 7 8 9