नया

डेल्फी में क्विकॉर्ट सॉर्टिंग एल्गोरिदम को लागू करना

डेल्फी में क्विकॉर्ट सॉर्टिंग एल्गोरिदम को लागू करना


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

प्रोग्रामिंग में एक आम समस्या यह है कि किसी क्रम (आरोही या अवरोही) में मानों की एक सरणी को क्रमबद्ध किया जाए।

जबकि कई "मानक" सॉर्टिंग एल्गोरिदम हैं, क्विकॉर्ट सबसे तेज में से एक है। Quicksort एक को रोजगार के द्वारा सॉर्ट करता है फूट डालो और जीतो की रणनीति बनाई एक सूची को दो उप-सूचियों में विभाजित करने के लिए।

QuickSort एल्गोरिथम

मूल अवधारणा सरणी में तत्वों में से एक को चुनना है, जिसे ए कहा जाता है प्रधान आधार। धुरी के आसपास, अन्य तत्वों को फिर से व्यवस्थित किया जाएगा। धुरी से कम सब कुछ धुरी के बाएँ - बाएँ विभाजन में ले जाया जाता है। धुरी से अधिक सब कुछ सही विभाजन में जाता है। इस बिंदु पर, प्रत्येक विभाजन पुनरावर्ती "त्वरित क्रमबद्ध" है।

यहाँ डेल्फी में कार्यान्वित क्विकसॉर्ट एल्गोरिथ्म है:

प्रक्रिया जल्दी से सुलझाएं(वर ए: की श्रंखला पूर्णांक; आईओएल, आईएचआई: इंटेगर);
वर
लो, हाय, पिवट, टी: इंटेगर;
शुरू
लो: = आईएलओ;
हाय: = iHi;
धुरी: = ए (लो + हाय) div 2;
  दोहराना
    जबकि ALO <पिवट करना इंक (लो);
    जबकि अहि> धुरी करना दिसंबर (हाय);
    अगर लो <= हाय फिर
    शुरू
टी: = एएलओ;
ALo: = AHi;
अहि: = टी;
इंक (लो);
दिसंबर (हाय);
    समाप्त;
  जब तक लो> हाय;
  अगर हाय> आई.एल.ओ. फिर क्विकॉर्ट (ए, आईओएल, हाय);
  अगर लो <iHi फिर क्विकॉर्ट (ए, लो, आईएचआई);
समाप्त;

उपयोग:

वर
अंतर: की श्रंखला पूर्णांक;
शुरू
सेटलॉग्रोट (इंटेरियर, 10);
  // intArray में मान जोड़ें
intArray0: = 2007;
  …
intArray9: = 1973;
  // प्रकार
क्विकॉर्ट (इंट्रैरे, लो (इंट्रैरे), हाई (इंट्रैरे));

नोट: व्यवहार में, QuickSort बहुत धीमा हो जाता है जब यह पास किया गया सरणी पहले से ही हल किया जा रहा है।

एक डेमो प्रोग्राम है जो डेल्फी के साथ जहाजों को "थ्रेड्स" फ़ोल्डर में "थ्रैडेडेमो" कहा जाता है जो अतिरिक्त दो छंटाई एल्गोरिदम दिखाता है: बबल सॉर्ट और चयन सॉर्ट।



टिप्पणियाँ:

  1. Fleming

    संदेश अतुलनीय, कृपया मुझे :)

  2. Dourg

    मैं इस बात की पुष्टि करता हूँ। तो होता है। हम इस थीम पर बातचीत कर सकते हैं।

  3. Shanley

    इसमें कुछ है। स्पष्टीकरण के लिए बहुत धन्यवाद, अब मैं इस तरह की गलती को स्वीकार नहीं करूंगा।

  4. Matei

    मेरी राय में, गलतियाँ की जाती हैं। आइए हम इस पर चर्चा करने का प्रयास करें। मुझे पीएम में लिखें, यह आपसे बात करता है।



एक सन्देश लिखिए