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

C# में इंसर्शन सॉर्ट


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

C# में इंसर्शन सॉर्ट को प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है।

उदाहरण

using System; 
namespace InsertionSortDemo { 
    class Example { 
        static void Main(string[] args) { 
            int[] arr = new int[10] { 23, 9, 85, 12, 99, 34, 60, 15, 100, 1 }; 
            int n = 10, i, j, val, flag; 
            Console.WriteLine("इंसर्शन सॉर्ट"); 
            Console.Write("प्रारंभिक सरणी है: "); 
            for (i = 0; i < n; i++) { 
                Console.Write(arr[i] + " "); 
            } 
            for (i = 1; i < n; i++) { 
                val = arr[i]; 
                flag = 0; 
                for (j = i - 1; j >= 0 && flag != 1; ) { 
                    if (val < arr[j]) { 
                        arr[j + 1] = arr[j]; 
                        j--; 
                        arr[j + 1] = val; 
                    } else flag = 1; 
                } 
            } 
            Console.Write("\nक्रमबद्ध सरणी है: "); 
            for (i = 0; i < n; i++) { 
                Console.Write(arr[i] + " "); 
            } 
        } 
    } 
}

आउटपुट

उपरोक्त प्रोग्राम का आउटपुट निम्नलिखित है।

इंसर्शन सॉर्ट 
प्रारंभिक सरणी है: 23 9 85 12 99 34 60 15 100 1 
क्रमबद्ध सरणी है: 1 9 12 15 23 34 60 85 99 100

अब, आइए उपरोक्त प्रोग्राम को समझते हैं।

पहले सरणी को आरंभ किया जाता है और फॉर लूप का उपयोग करके इसका मान प्रिंट किया जाता है। यह निम्नलिखित कोड स्निपेट में देखा जा सकता है -

int[] arr = new int[10] { 23, 9, 85, 12, 99, 34, 60, 15, 100, 1 }; 
int n = 10, i, j, val, flag; 
Console.WriteLine("इंसर्शन सॉर्ट"); 
Console.Write("प्रारंभिक सरणी है: "); 
for (i = 0; i < n; i++) { 
    Console.Write(arr[i] + " "); 
}

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

for (i = 1; i < n; i++) { 
    val = arr[i]; 
    flag = 0; 
    for (j = i - 1; j >= 0 && flag != 1; ) { 
        if (val < arr[j]) { 
            arr[j + 1] = arr[j]; 
            j--; 
            arr[j + 1] = val; 
        } else flag = 1; 
    } 
}

अंत में, क्रमबद्ध सरणी प्रदर्शित की जाती है। यह निम्नलिखित कोड स्निपेट में देखा जा सकता है।

Console.Write("\nक्रमबद्ध सरणी है: "); 
for (i = 0; i < n; i++) { 
    Console.Write(arr[i] + " "); 
}

  1. पायथन प्रोग्राम: पुनरावर्ती इन्सर्शन सॉर्ट पायथन प्रोग्राम: पुनरावर्ती इन्सर्शन सॉर्ट

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

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

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

  1. रूबी के साथ इंसर्शन सॉर्ट में महारत: एक चरण-दर-चरण गाइड रूबी के साथ इंसर्शन सॉर्ट में महारत: एक चरण-दर-चरण गाइड

    नोट: यह रूबी के साथ विभिन्न सॉर्टिंग एल्गोरिदम को लागू करने पर एक श्रृंखला का भाग 4 है। भाग 1 ने बबल सॉर्ट का पता लगाया, भाग 2 ने सिलेक्शन सॉर्ट का पता लगाया, और भाग 3 ने मर्ज सॉर्ट का पता लगाया। जैसा कि हम डेटा को सॉर्ट करने के लिए विभिन्न पद्धतियों का पता लगाना जारी रखते हैं, हम इंसर्शन सॉर्ट की