C ++ में सॉर्ट फ़ंक्शन को कैसे लागू करें?



यह आलेख आपको c ++ में सॉर्ट फ़ंक्शन का पता लगाने में मदद करेगा और इस प्रक्रिया में आपको अवधारणा पर एक विस्तृत प्रदर्शन देगा

छँटाई करना डेटा पर लागू सबसे बुनियादी और उपयोगी कार्यों में से एक है। इसका लक्ष्य किसी विशेष फैशन में डेटा की व्यवस्था करना है, जो आवश्यकताओं के अनुसार बढ़ या घट सकता है। C ++ STL में) सॉर्ट () 'के नाम से एक अंतर्निहित कार्य होता है जो हमें आसानी से सॉर्टिंग एल्गोरिदम प्रदर्शन करने की अनुमति देता है। इस लेख में हम C ++ में सॉर्ट फंक्शन की खोज करेंगे,

निम्नलिखित आलेख इस लेख में शामिल किए जाएंगे:





सी ++ में सॉर्ट फ़ंक्शन पर इस लेख के साथ आगे बढ़ रहा है

क्रमबद्ध करें () ) समारोह

यह एल्गोरिथ्म हेडर फ़ाइल का एक अंतर्निहित फ़ंक्शन है इसका उपयोग एक निर्दिष्ट क्रम में एक सरणी, वैक्टर जैसे कंटेनरों को सॉर्ट करने के लिए किया जाता है। आंतरिक रूप से यह फ़ंक्शन क्विक-सॉर्ट के रूप में कार्यान्वित किया जाता है
क्विकॉर्ट एक विभाजित और एल्गोरिथ्म को जीतना है। क्विकॉर्ट पहले तत्वों की एक बड़ी सूची को दो छोटी उप-सूचियों में विभाजित करता है: निम्न तत्व और उच्च तत्व। फिर Quicksort उप-सूचियों को पुन: क्रमबद्ध करता है।



कदम इस प्रकार हैं:
1. सूची से एक यादृच्छिक तत्व (आमतौर पर अंतिम तत्व), जिसे एक धुरी कहा जाता है, चुनें।
2. सूची को इस तरह से पुन: व्यवस्थित करें कि धुरी से कम मूल्यों वाले सभी तत्व धुरी से पहले आते हैं, जबकि धुरी से अधिक मूल्य वाले सभी तत्व इसके बाद आते हैं और समान मान जा सकते हैं या तो यह प्रक्रिया है जिसे विभाजन ऑपरेशन कहा जाता है।
3. कम तत्वों की उप-सूची और अधिक से अधिक तत्वों की उप-सूची को पुन: लिखें, फिर से उप-सूची में एक धुरी का चयन करें और उन्हें विभाजित करें।
पुनरावृत्ति का आधार मामला आकार शून्य या एक की सूची है, जिसे कभी भी सॉर्ट करने की आवश्यकता नहीं होती है और इस प्रकार उन्हें मिलाकर हम अपनी सूची को सॉर्ट करते हैं।

जावा में सिंक्रनाइज़ेशन क्या है

क्विकॉर्ट अन्य ओ (एन लॉग एन) एल्गोरिदम जैसे इंसर्शन सॉर्ट या बबल सॉर्ट की तुलना में अभ्यास में तेज है। Quicksort को इन-प्लेस पार्टीशन एल्गोरिथ्म के साथ लागू किया जा सकता है जिसका अर्थ है कि संपूर्ण सॉर्ट केवल O (लॉग एन) अतिरिक्त स्थान के साथ किया जा सकता है। क्विकसॉर्ट एक स्थिर प्रकार नहीं है।
इसकी जटिलता इस प्रकार है:
सर्वश्रेष्ठ मामला - ओ (एन लॉग एन)
सबसे खराब स्थिति - O (n ^ 2)
औसत मामला - O (n लॉग एन)

वाक्य - विन्यास:
क्रमबद्ध (प्रथम, अंतिम)
यहाँ,
पहला - श्रेणी का पहला तत्व का इंडेक्स (पॉइंटर) सॉर्ट किया जाना है।
अंतिम - श्रेणी में अंतिम तत्व का सूचकांक (सूचक) सॉर्ट किया जाना है।
उदाहरण के लिए, हम सरणी सरणी के तत्वों को 1 से 10 स्थिति में सॉर्ट करना चाहते हैं, हम सॉर्ट (गिरफ्तारी, + 10) का उपयोग करेंगे और यह आरोही क्रम में 10 तत्वों को सॉर्ट करेगा।
प्रतिलाभ की मात्रा
कोई नहीं



जटिलता

एक प्रकार की जटिलता का औसत एन * लॉग 2 (एन) है, जहां एन = अंतिम - पहला।

डेटा रेंज़
रेंज में ऑब्जेक्ट [पहले, अंतिम) को संशोधित किया जाता है।

अपवाद
एक टेम्प्लेट पैरामीटर के साथ ओवरलोड्स को ExecutionPolicy रिपोर्ट त्रुटियों के रूप में नामित किया गया है:
यदि एल्गोरिदम मेमोरी को आवंटित करने में विफल रहता है, तो std :: bad_alloc को अपवाद के रूप में फेंक दिया जाता है।
यदि एल्गोरिथ्म के एक भाग के रूप में एक फ़ंक्शन का निष्पादन इसे अपवाद std :: समाप्त करता है।

सी ++ में सॉर्ट फ़ंक्शन पर इस लेख के साथ आगे बढ़ रहा है

उदाहरण - आरोही क्रम में डेटा को सॉर्ट करने के लिए:

# नाम का उपयोग करके नाम स्थान std int main () {int array [] = {10, 35, 85, 93, 62, 77, 345, 43, 2, 10} int n = sizeof (सरणी) / sizeof (0) ) // 'sizeof' कुल सरणी का आकार देता है अर्थात प्रत्येक वर्ण का आकार * नहीं। अक्षर // के लिए तो नहीं पाने के लिए। अक्षरों का // हम किसी भी एक वर्ण के आकार के साथ आकार (सरणी) को विभाजित करते हैं // यहाँ यह सरणी है [0] सॉर्ट (सरणी, सरणी + एन) cout<< 'nArray after sorting using ' 'default sort is : n' for (int i = 0 i < n ++i) cout << array[i] << ' ' return 0 } 

आउटपुट:

आउटपुट- C ++ - Edureka में सॉर्ट फंक्शन

स्पष्टीकरण

उपरोक्त उदाहरण से, हम उस प्रकार () फ़ंक्शन को डिफ़ॉल्ट रूप से आरोही क्रम में एक सरणी देखते हैं।

सी ++ में सॉर्ट फ़ंक्शन पर इस लेख के साथ आगे बढ़ रहा है

उदाहरण - अवरोही क्रम में डेटा को सॉर्ट करने के लिए:

अवरोही क्रम में सरणी के डेटा को सॉर्ट करने के लिए हमें एक तीसरा पैरामीटर शुरू करने की आवश्यकता है जो उस क्रम को निर्दिष्ट करने के लिए उपयोग किया जाता है जिसमें तत्वों को सॉर्ट किया जाना है। हम अवरोही क्रम में डेटा को सॉर्ट करने के लिए 'अधिक से अधिक ()' फ़ंक्शन का उपयोग कर सकते हैं।

# नाम का उपयोग करके नाम स्थान std int main () {int array [] = {41, 53, 4, 459, 60, 7, 23, 4, 232, 10} int n = sizeof (सरणी) / sizeof (0) ) सॉर्ट (सरणी, सरणी + एन, अधिक से अधिक ()) cout<< 'Array after sorting : n' for (int i = 0 i < n ++i) cout << array[i] << ' ' return 0 } 

आउटपुट:

ऍक्स्प एल एक राष्ट्र
यहां सॉर्ट () फ़ंक्शन एक तरह से तुलना करता है जो पहले से अधिक तत्व डालता है।

जावा उदाहरण में हैशमप कार्यान्वयन

सी ++ में सॉर्ट फ़ंक्शन पर इस लेख के साथ आगे बढ़ रहा है

आंशिक_शॉर्ट

C ++ STL हमें एक आंशिक सॉर्टिंग फ़ंक्शन प्रदान करता है, फ़ंक्शन सॉर्ट () फ़ंक्शन के समान है लेकिन सॉर्ट () फ़ंक्शन के विपरीत इसका उपयोग संपूर्ण श्रेणी को सॉर्ट करने के लिए नहीं किया जाता है, बल्कि इसका केवल एक उप-भाग सॉर्ट करने के लिए उपयोग किया जाता है। यह तत्वों को [पहले, अंतिम) की श्रेणी में क्रमबद्ध करता है, ऐसे में मध्य तत्व से पहले के तत्वों को आरोही क्रम में क्रमबद्ध किया जाता है, जबकि मध्य के बाद के तत्वों को छोड़ दिया जाता है।

इसका उपयोग सबसे बड़े तत्व को खोजने के लिए किया जा सकता है यदि हम पहली स्थिति के लिए सॉर्ट करने के लिए फ़ंक्शन ऑब्जेक्ट का उपयोग करते हैं

उदाहरण

#include #include #include namespace std int main () {वेक्टर vec = {10, 45, 60, 78, 23, 21, 30} वेक्टर :: iterator iptr आंशिक_sort (vec.begin) (, vec.begin) का उपयोग करके + 1, vec.end (), अधिक से अधिक ()) iptr = vec.begin () cout<< 'The largest element is = ' << *iptr return 0 } 

आउटपुट:

स्पष्टीकरण:
उपरोक्त कोड का उपयोग किसी श्रृंखला में सबसे बड़ी संख्या को खोजने के लिए किया जा सकता है, श्रृंखला में सबसे छोटी संख्या को खोजने के लिए हमें अधिक से अधिक कमांड निकालने की आवश्यकता है।

इस प्रकार हम इस लेख के अंत में 'C ++ में सॉर्ट फ़ंक्शन' पर आए हैं। यदि आप अधिक सीखना चाहते हैं, तो एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा जावा प्रशिक्षण की जाँच करें। एडुर्का की पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।