Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

रिकर्सिव इंसर्शन सॉर्ट के लिए सी प्रोग्राम

इंसर्शन सॉर्ट एक सॉर्टिंग एल्गोरिथम है जो एक इन-प्लेस तुलना-आधारित एल्गोरिदम है।

एल्गोरिथम स्थान तत्व द्वारा क्रमबद्ध उप-सरणी में उनकी स्थिति में काम करता है यानी उप-सरणी उस तत्व से पहले जो एक क्रमबद्ध उप-सरणी है।

एल्गोरिदम

Step1 - 1 से n-1 तक लूप करें और करें -

चरण 2.1 - स्थिति i, सरणी [i] पर तत्व का चयन करें।

चरण 2.2 - सॉर्ट किए गए उप-सरणी सरणी में तत्व को उसकी स्थिति में डालें [0] को गिरफ्तार करने के लिए [i]।

एल्गोरिदम को समझने के लिए एक उदाहरण लेते हैं

सरणी =[34, 7, 12, 90, 51]

मेरे लिए =1, arr[1] =7, सबअरे arr[0] - arr[1] में अपनी स्थिति में रखकर।

[7, 34, 12, 90, 51]

i =2 के लिए , arr[2] =12, सबअरे arr[0] - arr[2] में अपनी स्थिति में रखते हुए।

[7, 12, 34, 90, 51]

i =3 के लिए , arr[3] =90, इसके पॉज़िटोन को सबअरे arr[0] - arr[3] में रखकर।

[7, 12, 34, 90, 51]

मेरे लिए =4, एआर [4] =51, इसके पॉज़िटोन में सबरे एआर [0] - एआर [4] में रखकर।

[7, 12, 34, 54, 90]

यहां, हम देखेंगे कि रिकर्सिव इंसर्शन सॉर्ट कैसे काम करता है। यह रिवर्स आधार पर काम करता है यानी हम वर्तमान पुनरावृत्ति की तुलना में n-1 तत्व सरणी को सॉर्ट करने के लिए पुनरावर्ती रूप से पुनरावर्ती सम्मिलन () फ़ंक्शन को कॉल करेंगे। और फिर इस क्रमबद्ध सरणी में जो फ़ंक्शन द्वारा लौटाया जाएगा, हम nth तत्व को उसकी स्थिति में सॉर्ट किए गए सरणी के रूप में सम्मिलित करेंगे।

पुनरावर्ती प्रविष्टि क्रम के लिए कार्यक्रम -

उदाहरण

#include <stdio.h>
void recursiveInsertionSort(int arr[], int n){
   if (n <= 1)
      return;
   recursiveInsertionSort( arr, n-1 );
   int nth = arr[n-1];
   int j = n-2;
   while (j >= 0 && arr[j] > nth){
      arr[j+1] = arr[j];
      j--;
   }
   arr[j+1] = nth;
}
int main(){
   int array[] = {34, 7, 12, 90, 51};
   int n = sizeof(array)/sizeof(array[0]);
   printf("Unsorted Array:\t");
      for (int i=0; i < n; i++)
   printf("%d ",array[i]);
      recursiveInsertionSort(array, n);
   printf("\nSorted Array:\t");
   for (int i=0; i < n; i++)
      printf("%d ",array[i]);
   return 0;
}

आउटपुट

Unsorted Array: 34 7 12 90 51
Sorted Array: 7 12 34 51 90

  1. बाइनरी इंसर्शन सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, हमें इसे बाइनरी इंसर्शन सॉर्ट की अवधारणा का उपयोग करके सॉर्ट करने की आवश्यकता है। यहां जैसा कि नाम से पता चलता है, हम बाइनरी सर्च की अवधारणा का उपयोग सम्मिलन सॉर्ट एल्गोरिदम के साथ करते हैं। आ

  1. पायथन प्रोग्राम में इंसर्शन सॉर्ट

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे। या पहले। एल्गोरिदम प्रत्येक पुनरावृत्ति पर क्रमबद्ध सरणी को बढ़ाकर इनपुट तत्वों पर पुनरावृति करें। सॉर्ट किए गए सरणी में उपलब्ध सबसे बड़े मान के साथ वर्तमान तत्व की तुलना करें। यदि वर्तमान तत्व अधिक है, तो यह तत्

  1. इंसर्शन सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे। या पहले। एल्गोरिदम 1. Iterate over the input elements by growing the sorted array at each iteration. 2. Compare the current element with the largest value available in the sorted array. 3. If the current element is greate