C में qsort () के साथ Arrays को कैसे सॉर्ट करें

C Mem Qsort Ke Satha Arrays Ko Kaise Sorta Karem



छँटाई कंप्यूटर प्रोग्रामिंग में एक मौलिक ऑपरेशन है, और इसमें डेटा के संग्रह को एक विशिष्ट क्रम में व्यवस्थित करना शामिल है। सी में तत्वों की सरणी को सॉर्ट करने का एक तरीका उपयोग करना है क्यूसॉर्ट () समारोह, जो मानक पुस्तकालय का हिस्सा है। यह फ़ंक्शन तर्कों के रूप में एक सरणी, उसका आकार और तुलना फ़ंक्शन लेता है और डिफ़ॉल्ट रूप से सरणी को आरोही क्रम में सॉर्ट करता है।

यह दिशानिर्देश उपयोग करके सरणियों की छँटाई दिखाता है क्यूसॉर्ट () C में कार्य करता है और C उदाहरण कोड द्वारा इसे समझने में भी आपकी मदद करता है।

क्यूसॉर्ट () सी में

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







सी में qsort () का उपयोग करते हुए हैडर-फाइल

क्यूसॉर्ट () विधि के अंदर परिभाषित किया गया है stdlib.h शीर्ष लेख फ़ाइल, जिसे लागू करने से पहले परिभाषित किया जाना चाहिए क्यूसॉर्ट () एक सी कार्यक्रम में।



#शामिल

क्यूसोर्ट की घोषणा ()

की घोषणा क्यूसॉर्ट () समारोह इस प्रकार है:



खालीपन qsort ( खालीपन * आधार , number_of_elements , size_of_element , तुलना_कार्य )

Qsort() फ़ंक्शन के पैरामीटर्स

के पैरामीटर क्यूसॉर्ट () समारोह हैं:





आधार: क्रमबद्ध करने के लिए सरणी के पहले तत्व के लिए सूचक।

संख्या_का_तत्व: क्रमबद्ध करने के लिए सरणी में तत्वों की संख्या।



तत्व का आकार: सरणी में प्रत्येक तत्व के बाइट्स में आकार।

तुलना_फंक्शन: तत्वों के क्रम को परिभाषित करने वाले तुलनात्मक फ़ंक्शन के लिए सूचक।

क्यूसॉर्ट () में तुलना समारोह क्या है

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

क्यूसॉर्ट सी में कैसे काम करता है

क्यूसॉर्ट () समारोह निम्नलिखित तरीके से काम करता है:

टिप्पणी: यहां हम एक पर विचार कर रहे हैं int arr[] = {5, 2, 8, 3, 1, 9};

1: प्रारंभ में, qsort फ़ंक्शन को निम्न पैरामीटर के साथ कॉल किया जाएगा:

qsort ( आगमन , 6 , का आकार ( int यहाँ ) , तुलना_कार्य ) ;

जहां arr सरणी के लिए सूचक है, 6 सरणी में तत्वों की संख्या है, sizeof(int) सरणी में प्रत्येक तत्व का आकार है, और तुलना_फंक्शन वह फ़ंक्शन है जो उस क्रम को निर्धारित करता है जिसमें तत्व सॉर्ट किए जाते हैं।

2: क्यूसॉर्ट फ़ंक्शन एक धुरी तत्व का चयन करता है। मान लीजिए कि यह चयन करता है 3 धुरी के रूप में।

3: Qsort फ़ंक्शन सरणी को दो उप-सरणियों में विभाजित करता है: {2, 1} और {5, 8, 9}। पहली उप-सरणी में ऐसे तत्व होते हैं जो धुरी से कम या उसके बराबर होते हैं, और दूसरी उप-सरणी में ऐसे तत्व होते हैं जो धुरी से अधिक होते हैं।

4: Qsort फ़ंक्शन पुनरावर्ती रूप से प्रत्येक उप-सरणी पर खुद को कॉल करता है।

5: Qsort फ़ंक्शन प्रत्येक उप-सरणियों के लिए पिवोट्स का चयन करता है। मान लीजिए कि यह 1 और 8 को पिवोट्स के रूप में चुनता है।

6: Qsort फ़ंक्शन प्रत्येक उप-सरणी को दो और उप-सरणियों में विभाजित करता है, और इनमें से प्रत्येक उप-सरणियों पर पुनरावर्ती रूप से स्वयं को कॉल करता है।

7: Qsort फ़ंक्शन क्रमबद्ध उप-सरणियों को वापस एक एकल क्रमबद्ध सरणी में जोड़ता है: {1, 2} और {5, 8, 9} {1, 2, 5, 8, 9} बन जाते हैं।

8: संपूर्ण क्रमबद्ध सरणी वापस आ गई है।

सी प्रोग्रामिंग में क्यूसॉर्ट का कार्यान्वयन

निम्नलिखित कोड के कार्यान्वयन को दर्शाता है qsort सी प्रोग्रामिंग में कार्य।

#शामिल

#शामिल

int यहाँ तुलना करना ( कॉन्स्ट खालीपन * ए 1 , कॉन्स्ट खालीपन * बी 1 )

{

वापस करना ( * ( int यहाँ * ) ए 1 - * ( int यहाँ * ) बी 1 ) ;

}

int यहाँ मुख्य ( )

{

int यहाँ मैं = 0 , एक पर = 6 ;

int यहाँ सरणी [ ] = { 5 , 2 , 8 , 3 , 1 , 9 } ;

qsort ( सरणी , एक पर , का आकार ( int यहाँ ) , तुलना करना ) ;

printf ( 'qsort() का उपयोग करके ऐरे के सॉर्ट किए गए तत्व हैं:' ) ;

के लिए ( मैं = 0 ; मैं < एक पर ; मैं ++ ) {

printf ( '%डी ' , सरणी [ मैं ] ) ; }

वापस करना 0 ;

}

उपरोक्त कोड में, सबसे पहले एक तुलना फ़ंक्शन दो मापदंडों के साथ बनाया गया है ए 1 और बी 1 . फिर निष्पादन मुख्य () से शुरू होता है। मुख्य में, हम i = 0 और num = 6 के रूप में दो पूर्णांक चर प्रारंभ करते हैं। फिर हम छह तत्वों के साथ एक सरणी घोषित करते हैं {5, 2, 8, 3, 1, 9} . इसके बा क्यूसॉर्ट () सरणी प्रकार के तीन पैरामीटर हैं, संख्या पैरामीटर सरणी के कुल तत्वों को बताता है, आकार (इंट) सरणी के कुल आकार को संदर्भित करता है, और तुलना का उपयोग सरणी तत्वों की एक-एक करके तुलना करने के लिए किया जाता है। फिर सॉर्ट किए गए सरणी का उपयोग करके प्रिंट करें प्रिंटफ () सी में समारोह

उत्पादन

निष्कर्ष

qsort सी प्रोग्रामिंग में किसी भी प्रकार की सरणियों को छांटने के लिए एक शक्तिशाली कार्य है। यह तुलनात्मक फ़ंक्शन के आधार पर तत्वों को आरोही या अवरोही क्रम में सॉर्ट करने के लिए एक त्वरित सॉर्ट एल्गोरिथम का उपयोग करता है। उपरोक्त मार्गदर्शिका आपको सी प्रोग्रामिंग में क्यूसॉर्ट को चरण-दर-चरण कार्य करने का एक आसान तरीका दिखाती है qsort कलन विधि।