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

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


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

एल्गोरिदम

शुरुआत    ShakerSort() फ़ंक्शन में 'arr' डेटा की सरणी और 'n' मानों की संख्या, आर्गुमेंट सूची में होती है।    // नेस्टेड फॉर लूप्स का उपयोग करके सॉर्टिंग एल्गोरिदम लागू करें।    पेरेंट लूप 'i' पर 0 से n-1 तक चलेगा और इसमें दो लूप अंदर होंगे।    पहला लूप 'j' पर i+1 से n-1 तक चलेगा और swap() का उपयोग करेगा यदि a[j] < a[j-1]।    n घटाएं।    दूसरा लूप 'k' पर m-1 से i+1 तक चलेगा और swap() का उपयोग करेगा यदि a[k] < a[k-1]।    i बढ़ाएं। अंत

उदाहरण कोड

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

आउटपुट

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

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

    रेडिक्स सॉर्ट गैर-तुलनात्मक सॉर्टिंग एल्गोरिदम है। यह सॉर्टिंग एल्गोरिदम पूर्णांक कुंजियों पर काम करता है उन अंकों को समूहित करके जो समान स्थिति और मान साझा करते हैं। रेडिक्स एक संख्या प्रणाली का आधार है। जैसा कि हम जानते हैं कि दशमलव प्रणाली में रेडिक्स या आधार 10 है। इसलिए कुछ दशमलव संख्याओं को स

  1. - यूनिफॉर्म बाइनरी सर्च करने के लिए C++ प्रोग्राम

    यूनिफॉर्म बाइनरी सर्च में हम लुकअप टेबल का उपयोग करके बाइनरी सर्च को लागू करते हैं। यह बाइनरी सर्च में एक सुधार है क्योंकि टेबल लुकअप शिफ्ट और एडिशन से तेज होता है। इस दृष्टिकोण की समय जटिलता O(log n) है। एल्गोरिदम शुरुआत    डेटा को सॉर्टेड तरीके से सरणी में निर्दिष्ट करें।    लु

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

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