इस लेख में हम C++ STL में set::value_comp() पर चर्चा करेंगे, उनका सिंटैक्स, कार्य और उनके रिटर्न मान।
C++ STL में Set क्या है?
C++ STL में Sets ऐसे कंटेनर हैं जिनमें सामान्य क्रम में अद्वितीय तत्व होने चाहिए। Sets में अद्वितीय तत्व होने चाहिए क्योंकि तत्व का मान तत्व की पहचान करता है। एक बार सेट कंटेनर में मान जोड़ने के बाद बाद में संशोधित नहीं किया जा सकता, हालांकि हम अभी भी सेट में मानों को हटा या जोड़ सकते हैं। Sets का उपयोग बाइनरी सर्च ट्री के रूप में किया जाता है।
set::value_comp() क्या है?
value_comp() C++ STL में एक अंतर्निहित फ़ंक्शन है जिसे <set> हेडर फ़ाइल में घोषित किया गया है। value_comp() तुलना ऑब्जेक्ट की एक प्रति लौटाता है, जिसका उपयोग सेट कंटेनर द्वारा तुलना के लिए किया जाता है। डिफ़ॉल्ट रूप से, यह ऑब्जेक्ट less-than ऑपरेटर का ऑब्जेक्ट होता है। यह एक प्रकार का फ़ंक्शन पॉइंटर या फ़ंक्शन ऑब्जेक्ट है जो किसी विशेष सेट में उसी प्रकार के दो मानों की तुलना करता है और यदि पहला तत्व कंटेनर में दूसरे तत्व से छोटा है तो true लौटाता है, अन्यथा false लौटाता है। सेट कंटेनर में मान स्वयं कुंजी होते हैं इसलिए उन्हें सेट कंटेनर में क्रमबद्ध प्रारूप में रखा जाता है, इसलिए 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