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

सी भाषा में छँटाई की अवधारणा की व्याख्या करें

समस्या

सी भाषा में छँटाई करने से खोज आसान क्यों हो जाती है? आप C में छँटाई दक्षता का आकलन कैसे कर सकते हैं?

समाधान

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

  • छँटाई शब्द तब अस्तित्व में आया जब मनुष्यों को शीघ्रता से खोज करने के महत्व का एहसास हुआ।

  • जीवन में अलग-अलग चीजें हैं जिन्हें हमें खोजने की जरूरत है, डेटाबेस में विशेष रिकॉर्ड, सूची में रोल नंबर, टेलीफोन निर्देशिका में एक नंबर, एक किताब में एक विशिष्ट पृष्ठ आदि।

  • यदि डेटा को एक अनियंत्रित और क्रमबद्ध रूप में रखा गया था, तो किसी विशेष चीज़ को खोजना मुश्किल हो जाता है। लेकिन सौभाग्य से, छँटाई की अवधारणा अस्तित्व में आई, जिससे सभी के लिए डेटा को एक क्रम में व्यवस्थित करना आसान हो गया।

  • सॉर्ट करना डेटा को एक क्रम में व्यवस्थित करता है जिससे खोज करना आसान हो जाता है।

क्रमबद्ध करने की क्षमता

  • यदि हम ताश के पत्तों का एक डेक व्यवस्थित करना चाहते हैं, तो हम प्रत्येक कार्ड की जाँच करके शुरू करेंगे, और उसी के अनुसार, जैसे-जैसे हम आगे बढ़ते हैं, डेक बनाते हैं।

  • डेक को व्यवस्थित करने में इतना समय लगता है, फिर भी हम इसे उसी तरह से करते हैं। लेकिन, कंप्यूटर इस तरह काम नहीं करते।

  • प्रोग्रामिंग युग की शुरुआत से, वैज्ञानिक डेटा को सॉर्ट करने के लिए अलग-अलग एल्गोरिदम द्वारा सॉर्ट करने की समस्या को हल करने पर काम कर रहे हैं।

यह निर्धारित करने का मानदंड है कि कौन सा एल्गोरिथम दूसरे से बेहतर है -

  • दिए गए डेटा को सॉर्ट करने में लगने वाला समय।
  • ऐसा करने के लिए मेमोरी स्पेस की आवश्यकता है।

उदाहरण

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

#include<stdio.h>
int main(){
   int a[50], i,j,n,t,sm;
   printf("enter the No: of elements in the list:\n");
   scanf("%d", &n);
   printf("enter the elements:\n");
   for(i=0; i<n; i++){
      scanf ("%d", &a[i]);
   }
   for (i=0; i<n-1; i++){
      sm=i;
      for (j=i+1; j<n; j++){
         if (a[j] < a[sm]){
            sm=j;
         }
      }
      t=a[i];
      a[i]=a[sm];
      a[sm]=t;
   }
   printf ("after selection sorting the elements are:\n");
   for (i=0; i<n; i++)
      printf("%d\t", a[i]);
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

आउटपुट

enter the No: of elements in the list:
4
enter the elements:
34
12
56
7
after selection sorting the elements are:
7 12 34 56

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

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

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

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

  1. C# में एक वर्ग की अवधारणा की व्याख्या करें

    सी # में एक वर्ग आवश्यक प्रकारों में से एक है। हम समस्या क्षेत्र के लिए प्रासंगिक वस्तुओं के लिए एक ब्लूप्रिंट के रूप में एक वर्ग के बारे में सोच सकते हैं। यह एक टेम्प्लेट है जिससे हम ऑब्जेक्ट बनाते हैं, संरचना और व्यवहार को परिभाषित करते हैं जो इस वर्ग से बनाए गए ऑब्जेक्ट्स के सेट द्वारा साझा किए ज