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

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

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

एल्गोरिदम

Begin
   ShakerSort() function has ‘arr’ the array of data and ‘n’ the number of values, in the argument list.
   // Implement Sorting algorithm using nested for loops.
   The parent loop will run on ‘i’ from 0 to n-1 and contains two loops inside.
   The first loop will run on ‘j’ from i+1 to n-1 and use swap() if a[j] < a[j-1].
   Decrement n.
   The second loop will run on 'k' from m-1 to i+1 and use swap() if a[k] < a[k-1].
   Increment i.
End

उदाहरण कोड

#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<<"\nEnter the number of data element to be sorted: ";
   cin>>n;
   int a[n];
   for(i = 0; i < n; i++) {
      cout<<"Enter element "<<i+1<<": ";
      cin>>a[i];
   }
   ShakerSort(a, n);
   cout<<"\nSorted Data ";
   for (i = 0; i < n; i++)
      cout<<"->"<<a[i];
   return 0;
}

आउटपुट

Enter the number of data element to be sorted: 4
Enter element 1: 3
Enter element 2: 1
Enter element 3: 7
Enter element 4: 6
Sorted Data ->1->3->6->7

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

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

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

    यूनिफ़ॉर्म बाइनरी सर्च में यहां हम लुकअप टेबल का उपयोग करके बाइनरी सर्च को लागू करते हैं। यह द्विआधारी खोज में एक सुधार है क्योंकि टेबल लुकअप एक बदलाव और जोड़ से तेज है। इस दृष्टिकोण की समय जटिलता O(log(n)) है। एल्गोरिदम Begin    Assign the data to the array in a sorted manner.   &nbs

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

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