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

स्टूज सॉर्ट करने के लिए C++ प्रोग्राम


स्टूज सॉर्ट का उपयोग दिए गए डेटा को सॉर्ट करने के लिए किया जाता है। यह एक रिकर्सिव सॉर्टिंग एल्गोरिदम है। स्टूज सॉर्ट सरणी को दो ओवरलैपिंग भागों में विभाजित करता है, प्रत्येक 2/3 और सरणी को तीन चरणों में सॉर्ट करता है: पहले I फिर II और फिर से I भाग को सॉर्ट करके। इस एल्गोरिदम की सबसे खराब स्थिति की समय जटिलता O(n^2.7095) है।

एल्गोरिदम

शुरुआत डेटा का इनपुट लें। 'a' डेटा की सरणी और 'n' मानों की संख्या के साथ StoogeSort() फ़ंक्शन कॉल करें। रिकर्सिव दृष्टिकोण का उपयोग करके सॉर्टिंग लागू करें। सरणी को पहले 2/3 एलिमेंट को भाग I और अंतिम 2/3 को भाग II के रूप में विभाजित करें। फिर पहले, दूसरे और फिर से पहले भाग को StoogeSort() में भेजें। यदि लंबाई आगे विभाज्य नहीं है तो शुरू और अंत में एलिमेंट को स्वैप करें यदि a[end] < a[start]। मेन पर लौटें और परिणाम प्रदर्शित करें। अंत।

उदाहरण कोड

#include<iostream> using namespace std; void StoogeSort(int a[],int start, int end) { int temp; if(end-start+1 > 2) { temp = (end-start+1)/3; StoogeSort(a, start, end-temp); StoogeSort(a, start+temp, end); StoogeSort(a, start, end-temp); } if(a[end] < a[start]) { temp = a[start]; a[start] = a[end]; a[end] = temp; } } int main() { int m, i; cout<<"\nसॉर्ट किए जाने वाले डेटा एलिमेंट की संख्या दर्ज करें: "; cin>>m; int arr[m]; for(i = 0; i < m; i++) { cout<<"एलिमेंट "<<i+1<<": "; cin>>arr[i]; } StoogeSort(arr, 0, m-1); cout<<"\nसॉर्टेड डेटा "; for (i = 0; i < m; i++) cout<<"->"<<arr[i]; return 0; }

आउटपुट

सॉर्ट किए जाने वाले डेटा एलिमेंट की संख्या दर्ज करें: 4 एलिमेंट 1 दर्ज करें: 6 एलिमेंट 2 दर्ज करें: 7 एलिमेंट 3 दर्ज करें: 3 एलिमेंट 4 दर्ज करें: 2 सॉर्टेड डेटा ->2->3->6->7

  1. - C++ प्रोग्राम: हीप सॉर्ट लागू करना

    एक हीप एक पूर्ण बाइनरी ट्री है जो या तो मिन हीप या मैक्स हीप है। एक मैक्स हीप में, रूट पर कुंजी हीप में मौजूद सभी कुंजियों में अधिकतम होनी चाहिए। यह गुण उस बाइनरी ट्री में सभी नोड्स के लिए पुनरावर्ती रूप से सत्य होना चाहिए। मिन हीप मिनहीप के समान है। फंक्शन विवरण void BHeap::Insert(int ele): हीप मे

  1. - C++ प्रोग्राम: बबल सॉर्ट लागू करना

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

  1. - शेकर सॉर्ट करने के लिए C++ प्रोग्राम

    शेकर सॉर्ट का उपयोग दिए गए डेटा को सॉर्ट करने के लिए किया जाता है। बबल सॉर्ट के विपरीत, शेकर सॉर्ट सरणी को दोनों दिशाओं में ऑर्डर करता है। इस एल्गोरिदम की सबसे खराब जटिलता O(n^2) है। एल्गोरिदम शुरुआत    ShakerSort() फ़ंक्शन में arr डेटा की सरणी और n मानों की संख्या, आर्गुमेंट सूची में होती