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

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

छँटाई तत्वों को आरोही (या) अवरोही क्रम में व्यवस्थित करने की प्रक्रिया है।

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

सी भाषा पांच छँटाई तकनीक प्रदान करती है, जो इस प्रकार हैं -

  • बबल सॉर्ट (या) एक्सचेंज सॉर्ट
  • चयन क्रम
  • सम्मिलन क्रम(या) रेखीय छँटाई
  • त्वरित छँटाई (या) विभाजन विनिमय छँटाई
  • मर्ज सॉर्ट (या) बाहरी सॉर्ट

त्वरित क्रमित करें

यह फूट डालो और जीतो एल्गोरिथम है।

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

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

  • P मुख्य तत्व है।
  • L बायां सूचक है।
  • R सही सूचक है।

तत्व 6, 3, 7, 2, 4, 5 हैं।

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

अब,

  • धुरी स्थिर स्थिति में है।
  • बाएं सभी तत्व कम हैं।
  • सही तत्व पिवट से बड़े होते हैं।
  • अब, सरणी को 2 उप सरणियों में बाएँ भाग और दाएँ भाग में विभाजित करें।
  • बाएं विभाजन लें त्वरित क्रम लागू करें।

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

सी लैंग्वेज में क्विक सॉर्ट तकनीक को समझाइए।

अब,

  • धुरी स्थिर स्थिति में है।
  • सभी बाएं तत्व कम और क्रमबद्ध हैं
  • सही तत्व बड़े होते हैं और क्रमबद्ध क्रम में होते हैं।
  • अंतिम क्रमबद्ध सूची 2, 3, 4, 5, 6, 7 के दो उप सरणियों को मिला रही है

उदाहरण

त्वरित सॉर्ट तकनीक का उपयोग करके तत्वों को सॉर्ट करने के लिए सी प्रोग्राम निम्नलिखित है -

#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("How many elements are u going to enter?: ");
   scanf("%d",&count);
   printf("Enter %d elements: ", count);
   for(i=0;i<count;i++)
   scanf("%d",&number[i]);
   quicksort(number,0,count-1);
   printf("Order of Sorted elements: ");
   for(i=0;i<count;i++)
   printf(" %d",number[i]);
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -

How many elements are u going to enter?: 10
Enter 10 elements: 2 3 5 7 1 9 3 8 0 4
Order of Sorted elements: 0 1 2 3 3 4 5 7 8 9

  1. सी भाषा में छँटाई तकनीकों की व्याख्या करें

    समस्या C भाषा में विभिन्न छँटाई तकनीकें क्या हैं? किसी एक छँटाई तकनीक को उदाहरण सहित समझाइए। समाधान C भाषा पांच छँटाई तकनीक प्रदान करती है, जो इस प्रकार हैं - बबल सॉर्ट (या) एक्सचेंज सॉर्ट। चयन क्रम। सम्मिलन क्रम (या) रैखिक छँटाई। त्वरित छँटाई (या) विभाजन विनिमय छँटाई। मर्ज सॉर्ट (या) बाहरी सॉर्ट

  1. C भाषा में यूनियन टू पॉइंटर को समझाएं

    एक यूनियन को मेमोरी लोकेशन कहा जाता है, जिसे विभिन्न प्रकार के डेटा के कई वेरिएबल द्वारा साझा किया जाता है। सिंटैक्स वाक्य रचना इस प्रकार है - union uniontag{    datatype member 1;    datatype member 2;    ----    ----    datatype member n; }; उदाह

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

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। सूचक घोषणा, आरंभीकरण और पहुंच निम्नलिखित कथन पर विचार करें - int qty = 179; सूचक घोषित करना int *p; p एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है। सूचक का प्रारंभ एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशि