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

C भाषा में क्विक सॉर्ट तकनीक समझाना

सॉर्टिंग एलिमेंट्स को आरोही (या अवरोही) क्रम में व्यवस्थित करने की प्रक्रिया है।

सॉर्टिंग के प्रकार

C भाषा पांच सॉर्टिंग तकनीक प्रदान करती है:

  • बबल सॉर्ट (या) एक्सचेंज सॉर्ट
  • सिलेक्शन सॉर्ट
  • इन्सर्शन सॉर्ट (या) लीनियर सॉर्ट
  • क्विक सॉर्ट (या) पार्टीशन एक्सचेंज सॉर्ट
  • मर्ज सॉर्ट (या) एक्सटर्नल सॉर्ट

क्विक सॉर्ट

यह एक डिवाइड एंड कॉन्कर एल्गोरिथ्म है।

  • चरण 1 - ऐरे से एक एलिमेंट चुनें, इसे पिवट एलिमेंट कहें।
  • चरण 2 - अनसॉर्टेड ऐरे एलिमेंट को दो ऐरे में विभाजित करें।
  • चरण 3 - यदि मान पिवट एलिमेंट से कम है तो पहले सब-अरे में आए, पिवट से बड़े मान वाले शेष एलिमेंट्स दूसरे सब-अरे में आएं।

नीचे दिए गए उदाहरण पर विचार करें, जहां

  • P पिवट एलिमेंट है।
  • L लेफ्ट पॉइंटर है।
  • R राइट पॉइंटर है।

एलिमेंट्स हैं: 6, 3, 7, 2, 4, 5।

उदाहरण

क्विक सॉर्ट तकनीक का उपयोग करके एलिमेंट्स को सॉर्ट करने का C प्रोग्राम:

#include <stdio.h>

void quicksort(int number[25], int first, int last) {
    int i, j, pivot, temp;
    if(first < last) {
        pivot = first;
        i = first;
        j = last;
        while(i < j) {
            while(number[i] <= number[pivot] && i < last)
                i++;
            while(number[j] > number[pivot])
                j--;
            if(i < j) {
                temp = number[i];
                number[i] = number[j];
                number[j] = temp;
            }
        }
        temp = number[pivot];
        number[pivot] = number[j];
        number[j] = temp;
        quicksort(number, first, j - 1);
        quicksort(number, j + 1, last);
    }
}

int main() {
    int i, count, number[25];
    printf("कितने एलिमेंट्स दर्ज करने हैं?: ");
    scanf("%d", &count);
    printf("%d एलिमेंट्स दर्ज करें: ", count);
    for(i = 0; i < count; i++)
        scanf("%d", &number[i]);
    quicksort(number, 0, count - 1);
    printf("सॉर्टेड एलिमेंट्स का क्रम: ");
    for(i = 0; i < count; i++)
        printf(" %d", number[i]);
    return 0;
}

आउटपुट

कितने एलिमेंट्स दर्ज करने हैं?: 10
10 एलिमेंट्स दर्ज करें: 2 3 5 7 1 9 3 8 0 4
सॉर्टेड एलिमेंट्स का क्रम: 0 1 2 3 3 4 5 7 8 9
  1. C भाषा में सॉर्टिंग तकनीकें (Sorting Techniques) C भाषा में सॉर्टिंग तकनीकें (Sorting Techniques)

    सॉर्टिंग क्या है? सॉर्टिंग (Sorting) डेटा को किसी विशेष क्रम (आरोही/अवरोही) में व्यवस्थित करने की प्रक्रिया है। C भाषा में कई सॉर्टिंग एल्गोरिदम लागू किए जा सकते हैं। पांच प्रमुख सॉर्टिंग तकनीकें बबल सॉर्ट (Bubble Sort) - एक्सचेंज सॉर्ट भी कहलाता है सिलेक्शन सॉर्ट (Selection Sort) इन्सर्शन सॉर्ट

  1. C भाषा में यूनियन टू पॉइंटर (Union to Pointer) C भाषा में यूनियन टू पॉइंटर (Union to Pointer)

    यूनियन (Union) क्या है? यूनियन एक यूजर-डिफाइंड डेटा प्रकार है जो एक ही मेमोरी स्थान को विभिन्न डेटा प्रकारों के सदस्यों के लिए साझा करने की अनुमति देता है। किसी भी समय केवल एक सदस्य ही मान रख सकता है। यूनियन की घोषणा union यूनियन_नाम { डेटा_प्रकार सदस्य1; डेटा_प्रकार सदस्य2; // ... };

  1. C भाषा में पॉइंटर एक्सेस करने की अवधारणा C भाषा में पॉइंटर एक्सेस करने की अवधारणा

    पॉइंटर घोषणा, प्रारंभिकरण और एक्सेस 1. सामान्य चर int qty = 179; // मेमोरी में: पता 1000 पर मान 179 संग्रहीत 2. पॉइंटर घोषणा int *p; // p एक पॉइंटर चर है जो int का पता रख सकता है 3. पॉइंटर प्रारंभिकरण int qty = 175; int *p; p = &qty; // एड्रेस-ऑफ ऑपरेटर (&) से पता प्राप्त करें मेमोरी आर