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

शैल सॉर्ट


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

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

  • समय जटिलता:सर्वोत्तम स्थिति के लिए O(n log n), और अन्य मामलों के लिए, यह अंतराल अनुक्रम पर निर्भर करता है।
  • अंतरिक्ष जटिलता:O(1)

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

इनपुट:क्रमबद्ध सूची:23 56 97 21 35 689 854 12 47 66आउटपुट:क्रमबद्ध करने से पहले सरणी:23 56 97 21 35 689 854 12 47 66छँटाई के बाद सरणी:12 21 23 35 47 56 66 97 689 854

एल्गोरिदम

shellSort(सरणी, आकार)

इनपुट - डेटा की एक सरणी, और सरणी में कुल संख्या

आउटपुट - क्रमबद्ध सरणी

गैप के लिए शुरू करें:=आकार/2, जब गैप> 0 और गैप को गैप के साथ अपडेट किया जाता है / 2 j के लिए करें:=गैप टू साइज- 1 k के लिए करें:=j-gap to 0, गैप वैल्यू से घटाएं अगर सरणी [के + गैप]> =सरणी [के] अन्य स्वैप सरणी तोड़ें [के + गैप] सरणी के साथ [के] किया गया हो गया अंत 

उदाहरण

#include नेमस्पेस का उपयोग करके std;void swapping(int &a, int &b) { // a और b int temp की सामग्री को स्वैप करें; अस्थायी =ए; ए =बी; बी =अस्थायी;} शून्य प्रदर्शन (int * सरणी, int आकार) {के लिए (int i =0; i <आकार; i ++) cout <<सरणी [i] <<""; cout < 0; गैप =गैप/2) {// शुरू में गैप =n/2, गैप से घटते हुए /2 के लिए (j =गैप; j =0; के - =गैप) {अगर (एआर [के + गैप]> =एआर [के]) ब्रेक; अन्य स्वैपिंग (गिरफ्तारी [के + गैप], एआर [के]); } } }}इंट मेन () {इंट एन; cout <<"तत्वों की संख्या दर्ज करें:"; सिनेमा>> एन; इंट गिरफ्तारी [एन]; // दिए गए तत्वों की संख्या के साथ एक सरणी बनाएं cout <<"तत्व दर्ज करें:" <> arr[i]; } cout <<"छँटाई से पहले सरणी:"; प्रदर्शन (गिरफ्तारी, एन); शेलसॉर्ट (गिरफ्तारी, एन); cout <<"सॉर्ट करने के बाद सरणी:"; प्रदर्शन (गिरफ्तारी, एन);}

आउटपुट

तत्वों की संख्या दर्ज करें:10तत्व दर्ज करें:23 56 97 21 35 689 854 12 47 66क्रमबद्ध करने से पहले सरणी:23 56 97 21 35 689 854 12 47 66क्रमबद्ध करने के बाद सरणी:12 21 23 35 47 56 66 97 689 854 
  1. जावास्क्रिप्ट में रेडिक्स सॉर्ट?

    मूलांक सॉर्ट एल्गोरिथ्म किसी संख्या के महत्वपूर्ण अंक या मान (मूलांक) के आधार पर पूर्णांकों को बकेट में वितरित करता है। मूलांक सरणियों के मूल्यों की संख्या प्रणाली पर आधारित है। आइए देखें कि इसे कैसे लागू किया जा सकता है - उदाहरण function radixSort(arr) {    // Find the max number and mult

  1. जावास्क्रिप्ट सॉर्ट () विधि

    जावास्क्रिप्ट सॉर्ट () विधि का उपयोग किसी सरणी को सॉर्ट करने के लिए किया जाता है। छँटाई का क्रम वर्णानुक्रमिक, संख्यात्मक, आरोही या अवरोही हो सकता है। सॉर्ट () विधि के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .नमूना, .परिणाम {

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

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