Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ STL में set::equal_range() फ़ंक्शन


इस लेख में हम C++ STL में set::equal_range() फ़ंक्शन पर चर्चा करेंगे, उनका सिंटैक्स, कार्य और उनके रिटर्न मान।

C++ STL में Set क्या है?

C++ STL में Sets ऐसे कंटेनर हैं जिनमें सामान्य क्रम में अद्वितीय तत्व होने चाहिए। Sets में अद्वितीय तत्व होने चाहिए क्योंकि तत्व का मान तत्व की पहचान करता है। एक बार सेट कंटेनर में मान जोड़ने के बाद बाद में संशोधित नहीं किया जा सकता, हालांकि हम अभी भी सेट में मानों को हटा या जोड़ सकते हैं। Sets का उपयोग बाइनरी सर्च ट्री के रूप में किया जाता है।

set::equal_range() क्या है

equal_range() फ़ंक्शन C++ STL में एक अंतर्निहित फ़ंक्शन है, जिसे <set> हेडर फ़ाइल में परिभाषित किया गया है। यह फ़ंक्शन सेट कंटेनर की उस रेंज को लौटाता है जिसमें फ़ंक्शन के तर्क के रूप में पारित मान होता है। सेट में सभी अद्वितीय मान होते हैं इसलिए मिली रेंज में समतुल्य मान एक ही होगा। यदि मान कंटेनर में मौजूद नहीं है तो रेंज शून्य होगी, दोनों इटरेटर्स पहली स्थिति की ओर इंगित करेंगे।

सिंटैक्स

Set1.equal_range(const type_t& value);

पैरामीटर

यह फ़ंक्शन एक पैरामीटर स्वीकार करता है, यानी वह तत्व जिसे खोजा जाना है।

रिटर्न वैल्यू

यह फ़ंक्शन जोड़ी या हम कह सकते हैं इटरेटर रेंज लौटाता है जो कंटेनर की निचली सीमा से शुरू होकर कंटेनर में खोजे जाने वाले तत्व तक जाती है।

उदाहरण

Input: set<int> myset = {10, 20, 30, 40}; 
Output: lower bound of 30 is 30

उदाहरण

#include <bits/stdc++.h>
using namespace std;

int main() {
    set<int> mySet;
    mySet.insert(10);
    mySet.insert(20);
    mySet.insert(30);
    mySet.insert(40);
    mySet.insert(50);
    cout << "Elements before applying range() Function : ";
    for (auto i = mySet.begin(); i != mySet.end(); i++)
        cout << *i << " ";
    auto i = mySet.equal_range(30);
    cout << "\nlower bound of 30 is " << *i.first;
    cout << "\nupper bound of 30 is " << *i.second;
    i = mySet.equal_range(40);
    cout << "\nlower bound of 40 is " << *i.first;
    cout << "\nupper bound of 40 is " << *i.second;
    i = mySet.equal_range(10);
    cout << "\nlower bound of 10 is " << *i.first;
    cout << "\nupper bound of 10 is " << *i.second;
    return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा:

Elements before applying range() Function : 10 20 30 40 50 
lower bound of 30 is 30 
upper bound of 30 is 40 
lower bound of 40 is 40 
upper bound of 40 is 50 
lower bound of 10 is 10 
upper bound of 10 is 20
  1. - C++ STL में negate फंक्शन

    Negate फंक्शन का उपयोग दिए गए मानों को नकारने के लिए किया जाता है जैसे कि मानों के चिह्न को बदलना। यह नकारात्मक मानों को सकारात्मक और इसके विपरीत में बदल देता है। फंक्शन प्रोटोटाइप: function transform(a_begin, a_end, a1_begin, negate()): a_begin = सरणी की निचली सीमा। a_end = सरणी की ऊपरी सी

  1. - C++ STL में atan2() फ़ंक्शन

    atan2() फ़ंक्शन atan2() फ़ंक्शन निर्देशांक (x, y) के स्पर्शज्या व्युत्क्रम (आर्कटैंजेंट) को लौटाता है। यह C++ STL में <cmath> हेडर में परिभाषित है। सिंटैक्स atan2(dataType y, dataType x) पैरामीटर: y (y-निर्देशांक), x (x-निर्देशांक) - float, double, या long double प्रकार के। वापसी मान रेडियन

  1. - C++ STL में acos() फ़ंक्शन

    acos() फ़ंक्शन acos() फ़ंक्शन दिए गए मान का आर्ककोसाइन (व्युत्क्रम कोसाइन) लौटाता है। यह <cmath> हेडर में परिभाषित है। सिंटैक्स acos(var) पैरामीटर: var - float, double, या long double प्रकार का, मान [-1, 1] की सीमा में होना चाहिए। वापसी मान रेडियन में कोण, सीमा: [0, π]। उदाहरण 1: रेडियन मे