लेक्सिकोग्राफिकल_तुलना () फ़ंक्शन C ++ का उपयोग करके वैक्टर को कैसे क्रमबद्ध करें

Leksikographikala Tulana Fanksana C Ka Upayoga Karake Vaiktara Ko Kaise Kramabad Dha Karem



फ़ंक्शन निर्देशों का एक सेट है जो एक विशिष्ट कार्य करता है। इसका उपयोग कोड को व्यवस्थित, मॉड्यूलर और पुन: प्रयोज्य बनाने के लिए किया जाता है। C++ में, कोड को सरल बनाने के लिए फ़ंक्शन एक महत्वपूर्ण भूमिका निभाते हैं। उदाहरण के लिए, ' लेक्सिकोग्राफिकल_तुलना () 'फ़ंक्शन का उपयोग दो अनुक्रमों या श्रेणियों की लेक्सिकोग्राफ़िक रूप से तुलना करने के लिए किया जाता है।

इस व्यापक मार्गदर्शिका में, हम प्रोग्राम के साथ C++ में 'लेक्सिकोग्राफ़िकल_तुलना ()' फ़ंक्शन प्रदर्शित करेंगे।

सी ++ में 'लेक्सिकोोग्राफिकल_कंपेयर ()' फ़ंक्शन क्या है

सी ++ में, 'लेक्सिकोग्राफिकल_कंपेयर ()' फ़ंक्शन अनुक्रम (लेक्सिकोोग्राफिक ऑर्डर) में तत्वों की तुलना और सॉर्ट करने के लिए एक बहुत ही प्रभावी ऑपरेशन है। यह संबंधित क्रम को निर्धारित करने की सुविधा प्रदान करता है जो श्रृंखलाओं और स्ट्रिंग्स जैसे अनुक्रमों की तुलना करने का परिणाम है। यह फ़ंक्शन 'का उपयोग करके सी ++ में पहुंच योग्य है' <एल्गोरिदम> ' हेडर फाइल।







वाक्य - विन्यास



यहाँ C ++ में 'lexicographical_compare ()' फ़ंक्शन का सिंटैक्स है:



खाका < कक्षा इनपुटआईटर1, कक्षा इनपुटआईटर2 >
बूल lexicographical_compare ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;

ऊपर दिए गए कोड के अनुसार, ' लेक्सिकोग्राफिकल_तुलना () 'फ़ंक्शन श्रेणी के दो जोड़े स्वीकार करता है' पहले1 ' और ' पिछले1 'पहली श्रेणी के लिए इनपुट इटरेटर और' पहले2 ' और ' पिछले2 ” रेंज सेकंड के लिए इनपुट इटरेटर्स। यह शब्दावली क्रम में दोनों श्रेणी तत्वों से मेल खाता है।





वापसी का प्रकार: यह बूलियन मान (सही या गलत) लौटाता है। यह सच हो जाएगा जब पहली श्रेणी दूसरी श्रेणी की तुलना में लेक्सिकोग्राफिक रूप से छोटी होती है अन्यथा झूठी वापसी होती है।

अपवाद: यदि तुलना के दौरान कोई त्रुटि पाई जाती है तो यह अपवाद फेंक देगा।



लेक्सिकोग्राफिकल_तुलना () फ़ंक्शन C ++ का उपयोग करके वैक्टर को कैसे क्रमबद्ध करें

तत्व के क्रम का पता लगाने के लिए 'लेक्सिकोग्राफ़िकल_कंपेयर ()' फ़ंक्शन का उपयोग अक्सर सॉर्टिंग तकनीकों में किया जाता है। यह सीमा समाप्त होने तक तत्वों के संबंधित क्रम से मेल खाता है।

लेक्सिकोग्रापिकल_तुलना () फ़ंक्शन का उदाहरण सॉर्ट करें और स्ट्रिंग वैक्टर की तुलना करें

आइए प्रदान किए गए उदाहरण को देखें जो प्रदर्शित करता है ' क्रम से लगाना() 'विधि के साथ' लेक्सिकोग्राफिकल_तुलना () ':

#शामिल
#शामिल <वेक्टर>
#शामिल <एल्गोरिदम>
का उपयोग करते हुए नाम स्थान कक्षा ;

यहाँ:

  • ' <आईओस्ट्रीम> ” का उपयोग इनपुट और आउटपुट ऑपरेशन के लिए किया जाता है।

' <वेक्टर> ” एक C++ मानक लाइब्रेरी कंटेनर क्लास है और इसका उपयोग उन टेम्प्लेट को होल्ड करने के लिए किया जाता है जो डायनेमिक ऐरे क्षमताओं की पेशकश करते हैं।

  • ' <एल्गोरिदम> 'लेक्सिकोग्राफिकल_तुलना ()' फ़ंक्शन के लिए 'सॉर्ट ()' विधि तक पहुंचने के लिए हेडर फ़ाइल का उपयोग किया जाता है।
  • ' नेमस्पेस एसटीडी का उपयोग करना ' को एक निर्देश के रूप में संदर्भित किया जाता है जो उपसर्ग 'एसटीडी' का स्पष्ट रूप से उल्लेख किए बिना नामस्थान से सभी नामों का उपयोग करता है।

अगला, अंदर ' मुख्य() 'फ़ंक्शन, हमने दो वैक्टर इनिशियलाइज़ किए' vect1 ' और ' vect2 'एक ही तार के साथ। इसके बाद, इस्तेमाल किया ' क्रम से लगाना() 'के साथ दोनों वैक्टरों के लेक्सिकोोग्राफिक क्रम में तत्वों को सॉर्ट करने की विधि' vect1.begin () ' और ' वेक्टर1.अंत () 'पुनरावृत्त' 'वेक्ट 1', और 'के लिए रेंज vect2.begin () ' और ' vect2.end () 'Vect2' के लिए रेंज। फिर, आह्वान किया ' लेक्सिकोग्राफिकल_तुलना () ” फ़ंक्शन जो दोनों वैक्टरों के लिए चार तर्क लेता है।

परिणाम 'के साथ सहेजे जाएंगे बूल 'टाइप करें' परिणाम ” वेरिएबल और रिटर्न ट्रू अगर 'वेक्ट 1' रेंज लेक्सिकोग्राफिक रूप से 'वेक्ट 2' रेंज से छोटी है, और अन्यथा गलत है। अंत में, 'लागू करें' अगर ”परिणाम प्रदर्शित करने के लिए कथन। अगर ' परिणाम 'सच है इसका मतलब है कि' vect1 'शब्दकोशीय रूप से है' > 'वेक्ट 2' की तुलना में। अन्यथा, अन्य शर्त निष्पादित की जाएगी:

int यहाँ मुख्य ( ) {
वेक्टर < डोरी > vect1 = { 'वसंत' , 'गर्मी' , 'पतझड़' , 'सर्दी' } ;
वेक्टर < डोरी > vect2 = { 'वसंत' , 'गर्मी' } ;

क्रम से लगाना ( vect1. शुरू ( ) , सदिश 1। अंत ( ) ) ;
क्रम से लगाना ( vect2. शुरू ( ) , सदिश 2। अंत ( ) ) ;
// lexicographical_compare () का उपयोग करके दोनों वैक्टरों की तुलना करें
बूल परिणाम = lexicographical_compare (
vect1. शुरू ( ) , सदिश 1। अंत ( ) ,
vect2. शुरू ( ) , सदिश 2। अंत ( )
) ;

अगर ( परिणाम ) {
अदालत << 'वेक्ट 1 लेक्सिकोग्राफिक रूप से वेक्टर 2 से अधिक है' << endl ;
} अन्य अगर ( lexicographical_compare (
vect2. शुरू ( ) , सदिश 2। अंत ( ) ,
vect1. शुरू ( ) , सदिश 1। अंत ( )
) ) {
अदालत << 'वेक्ट 1 लेक्सिकोग्राफिक रूप से वीक्ट 2 से कम है' << endl ;
} अन्य {
अदालत << 'वेक्ट 1 लेक्सिकोग्राफिक रूप से वेक्टर 2 के बराबर है' << endl ;
}
वापस करना 0 ;
}

उत्पादन

बस इतना ही! आपने 'के बारे में सीखा है' लेक्सिकोग्राफिकल_तुलना () ” सी ++ में कार्य करता है।

निष्कर्ष

सी ++ में, 'लेक्सिकोोग्राफिकल_कंपेयर ()' फ़ंक्शन का उपयोग लेक्सिकल ऑर्डर में तत्वों के अनुक्रम को क्रमबद्ध और मिलान करने के लिए किया जाता है। सापेक्ष क्रम खोजने के लिए 'लेक्सिकोग्रैपिकल_कंपेयर ()' विधि के साथ सॉर्टिंग एल्गोरिदम व्यापक रूप से कार्यान्वित किया जाता है। इस ट्यूटोरियल में, हमने C++ में “lexicographical_compare()” फंक्शन को प्रदर्शित किया।