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

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

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

यह एल्गोरिदम एलिमेंट को सॉर्टेड सब-एरे में उसकी सही स्थिति पर रखकर काम करता है, यानी एलिमेंट से पहले का सब-एरे जो पहले से सॉर्टेड होता है।

एल्गोरिदम

चरण 1 - 1 से n-1 तक लूप चलाएं और निम्न करें -

चरण 2.1 - पोजीशन i पर स्थित एलिमेंट array[i] को चुनें।

चरण 2.2 - इस एलिमेंट को सॉर्टेड सब-एरे array[0] से arr[i] में उसकी सही स्थिति पर इन्सर्ट करें।

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

एरे = [34, 7, 12, 90, 51]

i = 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]

i = 4 के लिए, arr[4] = 51, इसे सबएरे arr[0] - arr[4] में इसकी स्थिति पर रखते हैं।

[7, 12, 34, 51, 90]

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

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

उदाहरण

#include 
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. पायथन प्रोग्राम: बाइनरी इन्सर्शन सॉर्ट पायथन प्रोग्राम: बाइनरी इन्सर्शन सॉर्ट

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

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

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

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

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