उदाहरण के साथ C में इंसर्शन सॉर्ट कैसे लागू करें

Udaharana Ke Satha C Mem Insarsana Sorta Kaise Lagu Karem



छँटाई एल्गोरिथ्म जिसे 'सम्मिलन छँटाई' के रूप में जाना जाता है, छोटे डेटासेट के लिए सीधा और प्रभावी है। यह एक तुलना-आधारित विधि है जो तत्वों को एक सरणी के माध्यम से लूप करके व्यवस्थित करती है, प्रत्येक तत्व का मूल्यांकन उन तत्वों के विरुद्ध करती है जो इससे पहले आए थे, और यदि आवश्यक हो तो उनका आदान-प्रदान करते हैं। इस पोस्ट में, हम सी भाषा में इंसर्शन सॉर्ट को लागू करने का एक उदाहरण देखेंगे।

C में इंसर्शन सॉर्ट क्या है?

इंसर्शन सॉर्ट नामक छँटाई विधि हर एक तत्व को आसन्न वाले से मेल खाती है क्योंकि यह एक सरणी में पुनरावृत्त होता है। उचित स्थान पर सॉर्ट किए गए उप-सरणी में डालने से पहले एक से छोटा तत्व।

आगे वर्णन करने के लिए, मैंने एक उदाहरण प्रदर्शित किया है जिसमें मैंने एक सरणी में चार तत्वों की एक सरणी पर विचार किया है आगमन [] = {5, 4, 60, 9} और हम सम्मिलन प्रकार का उपयोग करके इस तत्व को आरोही क्रम में क्रमबद्ध करना चाहते हैं। निम्नलिखित इंटरैक्शन इंसर्शन सॉर्ट के पूर्ण ड्राई रन की व्याख्या करते हैं:







पुनरावृति 1

5 4 60 9

हमारे पास आगमन [5, 4, 60, 9] के रूप में एक सरणी है, सम्मिलन के पहले पुनरावृत्ति में हम पहले 5 और 4 जैसे पहले दो तत्वों की तुलना करते हैं, जैसा कि आगमन [5] है> आगमन [4] इसलिए हम आरोही क्रम में सरणी को सॉर्ट करने के लिए उन्हें स्वैप करते हैं। अब, सरणी होगी:



4 5 60 9

पुनरावृति 2

4 5 60 9

दूसरे पुनरावृत्ति में, हम अगले दो तत्वों की तुलना करते हैं, जैसे arr[5] arr[60] के साथ।



arr[5]





4 5 60 9

पुनरावृति 3

4 5 60 9

तीसरे पुनरावृति की तरह, हम arr[60] जैसे तीसरे और चौथे तत्वों को arr[9] से मिलाते हैं।

अब, हम देखते हैं कि arr[60] > arr[9] इसलिए गमागमन होता है, तो सरणी आरोही क्रम में क्रमबद्ध होगी।



4 5 9 60

इस प्रकार सी में सम्मिलन सॉर्ट काम करता है जो आरोही या अवरोही क्रम में आसानी से सरणी तत्व को सॉर्ट करता है।

निवेशन छँटाई का फ़्लो-चार्ट

सम्मिलन प्रकार के एल्गोरिथ्म का फ़्लोचार्ट निम्नलिखित है:

सी में सम्मिलन क्रम का उदाहरण लागू करना

हमें सबसे पहले तत्वों के संग्रह की आवश्यकता होती है जिन्हें सी में सम्मिलन सॉर्ट विधि बनाने के लिए अवरोही और आरोही क्रम में क्रमबद्ध करने की आवश्यकता होती है। इस उदाहरण के प्रयोजनों के लिए मान लें कि हम संख्याओं की एक सरणी से निपट रहे हैं {5, 4, 60, 9} :

#शामिल

खालीपन insertionsort_ascending ( int यहाँ arr1 [ ] , int यहाँ एन ) {

int यहाँ मैं , जे , मेरी कुंजी ;

// लूप के लिए i मानों को 1 से i

के लिए ( मैं = 1 ; मैं < एन ; मैं ++ ) {

मेरी कुंजी = arr1 [ मैं ] ;

जे = मैं - 1 ;

जबकि ( जे >= 0 && arr1 [ जे ] > मेरी कुंजी ) {

arr1 [ जे + 1 ] = arr1 [ जे ] ;

जे = जे - 1 ;

}

arr1 [ जे + 1 ] = मेरी कुंजी ;

}

}

खालीपन insertionsort_descending ( int यहाँ arr2 [ ] , int यहाँ एम ) {

int यहाँ मैं , जे , मेरी कुंजी ;

// लूप के लिए दूसरा i मानों को 1 से i

के लिए ( मैं = 1 ; मैं < एम ; मैं ++ ) {

मेरी कुंजी = arr2 [ मैं ] ;

जे = मैं - 1 ;

जबकि ( जे >= 0 && arr2 [ जे ] < मेरी कुंजी ) {

arr2 [ जे + 1 ] = arr2 [ जे ] ;

जे = जे - 1 ;

}

arr2 [ जे + 1 ] = मेरी कुंजी ;

}

}

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

// सम्मिलन-अवरोही क्रम के साथ क्रमबद्ध करें

int यहाँ my_arr [ ] = { 5 , 4 , 60 , 9 } ; // एक my_arr को इनिशियलाइज़ करें [] जिसमें चार मान हों

int यहाँ एम = का आकार ( my_arr ) / का आकार ( my_arr [ 0 ] ) ;

insertionsort_descending ( my_arr , एम ) ;

printf ( 'अवरोही क्रम में क्रमबद्ध सरणी:' ) ;

के लिए ( int यहाँ मैं = 0 ; मैं < एम ; मैं ++ )

printf ( '%डी ' , my_arr [ मैं ] ) ;

printf ( ' \एन ' ) ;

// सम्मिलन - आरोही क्रम के साथ क्रमबद्ध करें

int यहाँ एन = का आकार ( my_arr ) / का आकार ( my_arr [ 0 ] ) ;

insertionsort_ascending ( arr2 , एन ) ;

printf ( 'आरोही क्रम में क्रमबद्ध सरणी:' ) ;

के लिए ( int यहाँ मैं = 0 ; मैं < एन ; मैं ++ )

printf ( '%डी ' , my_arr [ मैं ] ) ;

printf ( ' \एन ' ) ;

वापस करना 0 ;

}

इस कोड में, दो तरीके सम्मिलन_अवरोही () , और सम्मिलन_आरोही () के सरणी मान लें my_arr[] . कोड तब एक का उपयोग करता है पाश के लिए सरणी के तत्वों के माध्यम से पुनरावृति करने के लिए।

अवरोही और आरोही क्रम में सरणियों को क्रमबद्ध करने के बाद हम दोनों कार्यों को मुख्य कार्य में बुलाते हैं। उसके बाद, लूप के लिए सॉर्ट किए गए सरणी को प्रिंट करने के लिए उपयोग किया जाता है।

जब हम इस प्रोग्राम को चलाते हैं, तो अपेक्षित आउटपुट नीचे रखा जाता है:

निष्कर्ष

सम्मिलन छँटाई एक सरणी को अवरोही या आरोही क्रम में क्रमबद्ध करने का एक त्वरित और आसान तरीका है। छोटे डेटासेट के लिए, यह सॉर्टिंग तकनीक अच्छा प्रदर्शन करती है। जैसा कि आप ऊपर दिए गए गाइड में देख सकते हैं, इंसर्शन सॉर्ट को अवरोही और आरोही क्रम में आसानी से समझने के लिए C प्रोग्राम का एक उदाहरण लागू करना सरल है।