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

सिलेक्शन सॉर्ट

सिलेक्शन सॉर्ट तकनीक में, लिस्ट को दो भागों में विभाजित किया जाता है। एक भाग में सभी एलिमेंट्स सॉर्टेड होते हैं और दूसरे भाग में आइटम्स अनसॉर्टेड होते हैं। पहले, हम ऐरे से अधिकतम या न्यूनतम डेटा लेते हैं। डेटा प्राप्त करने के बाद (मान लें न्यूनतम) हम इसे लिस्ट की शुरुआत में पहले स्थान के डेटा को न्यूनतम डेटा से बदलकर रखते हैं। ऐसा करने के बाद ऐरे छोटा होता जा रहा है। इस प्रकार यह सॉर्टिंग तकनीक की जाती है।

सिलेक्शन सॉर्ट तकनीक की जटिलता

  • टाइम कॉम्प्लेक्सिटी: O(n^2)
  • स्पेस कॉम्प्लेक्सिटी: O(1)

इनपुट और आउटपुट

इनपुट: अनसॉर्टेड लिस्ट: 5 9 7 23 78 20
आउटपुट: सॉर्टिंग से पहले ऐरे: 5 9 7 23 78 20
सॉर्टिंग के बाद ऐरे: 5 7 9 20 23 78

एल्गोरिदम

selectionSort(array, size)

इनपुट: डेटा का एक ऐरे, और ऐरे में कुल संख्या
आउटपुट: सॉर्टेड ऐरे

Begin
    for i := 0 to size-2 do // ith लोकेशन से साइज तक न्यूनतम ढूंढें
        iMin := i;
        for j := i+1 to size - 1 do
            if array[j] < array[iMin] then
                iMin := j
            done
        swap array[i] with array[iMin].
    done
End

उदाहरण

#include <iostream>
using namespace std;

void swapping(int &a, int &b) {
    // a और b की सामग्री को स्वैप करें
    int temp;
    temp = a;
    a = b;
    b = temp;
}

void display(int *array, int size) {
    for(int i = 0; i < size; i++)
        cout << array[i] << " ";
    cout << endl;
}

void selectionSort(int *array, int size) {
    int i, j, imin;
    for(i = 0; i < size - 1; i++) {
        imin = i; // न्यूनतम डेटा का इंडेक्स प्राप्त करें
        for(j = i + 1; j < size; j++)
            if(array[j] < array[imin])
                imin = j;
        // सही स्थिति में रखें
        swap(array[i], array[imin]);
    }
}

int main() {
    int n;
    cout << "एलिमेंट्स की संख्या दर्ज करें: ";
    cin >> n;
    int arr[n]; // दिए गए एलिमेंट्स की संख्या के साथ ऐरे बनाएं
    cout << "एलिमेंट्स दर्ज करें:" << endl;
    for(int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    cout << "सॉर्टिंग से पहले ऐरे: ";
    display(arr, n);
    selectionSort(arr, n);
    cout << "सॉर्टिंग के बाद ऐरे: ";
    display(arr, n);
}

आउटपुट

एलिमेंट्स की संख्या दर्ज करें: 6
एलिमेंट्स दर्ज करें: 5 9 7 23 78 20
सॉर्टिंग से पहले ऐरे: 5 9 7 23 78 20
सॉर्टिंग के बाद ऐरे: 5 7 9 20 23 78

  1. जावास्क्रिप्ट में Array.prototype.sort() मेथड जावास्क्रिप्ट में Array.prototype.sort() मेथड

    जावास्क्रिप्ट Array.prototype.sort() मेथड का उपयोग एरे को सॉर्ट करने के लिए किया जाता है। सॉर्टिंग का क्रम अल्फाबेटिक, न्यूमेरिक, आरोही या अवरोही हो सकता है। Array.prototype.sort() मेथड के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /

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

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

  1. रूबी में सिलेक्शन सॉर्ट में महारत: चरण-दर-चरण कार्यान्वयन रूबी में सिलेक्शन सॉर्ट में महारत: चरण-दर-चरण कार्यान्वयन

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