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

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

कॉम्ब सॉर्ट बबल सॉर्ट और कॉकटेल सॉर्ट के समान है। कॉम्ब सॉर्ट आसन्न तत्वों को देखना शुरू नहीं करता है, बल्कि तत्वों को एक निश्चित संख्या में अनुक्रमित के अलावा देखता है, इसे गैप कहा जाता है। गैप को [n/c] के रूप में परिभाषित किया गया है जहां n तत्वों की संख्या है और c सिकुड़न कारक है। प्रत्येक पुनरावृत्ति के बाद, यह संख्या c से विभाजित होने के विरुद्ध है और अंतत:, एल्गोरिथ्म आसन्न तत्वों को देख रहा है।

Input:53421
Output:12345

स्पष्टीकरण

कॉम्ब सॉर्ट दो तत्वों की तुलना एक अंतराल के साथ करता है जिसे [n/c] के रूप में परिभाषित किया गया है जहां n तत्वों की संख्या है और c सिकुड़ने वाला कारक है यानी 1.3। प्रत्येक पुनरावृत्ति के बाद, यह संख्या c से विभाजित होने के विरुद्ध है और अंतत:, एल्गोरिथ्म आसन्न तत्वों को देख रहा है।

उदाहरण

#include <iostream>
using namespace std;
void combsort(int a[], int n) {
   int i, j, gap, swapped = 1;
   double temp;
   gap = n;
   while (gap > 1 || swapped == 1) {
      gap = gap * 10 / 1.3;
      if (gap == 9 || gap == 10) {
         gap = 11;
      }
      if (gap < 1) {
         gap = 1;
      }
      swapped = 0;
      for (i = 0, j = gap; j < n; i++, j++) {
         if (a[i] > a[j]) {
            temp = a[i];
            a[i] = a[j];
            a[j] = temp;
            swapped = 1;
         }
      }
   }
}
int main () {
   int n, i;
   int arr[] = { 5, 3, 4, 2, 1 };
   n=5;
   combsort(arr, n);
   for(i = 0;i < n;i++) {
      cout<<arr[i]<<"\t";
   }
   return 0;
}

  1. कंघी क्रमबद्ध

    कंघी छँटाई और बबल छँटाई का मूल विचार समान है। दूसरे शब्दों में, कंघी छँटाई बबल प्रकार में सुधार है। बबल छँटाई तकनीक में, वस्तुओं की तुलना प्रत्येक चरण में अगले आइटम से की जाती है। लेकिन कंघी प्रकार के लिए, वस्तुओं को एक विशिष्ट अंतराल में क्रमबद्ध किया जाता है। प्रत्येक चरण को पूरा करने के बाद, अंतर

  1. ऑड-ईवन सॉर्ट (ईंट सॉर्ट) के लिए C/C++ प्रोग्राम?

    ऑड-ईवन तलवार जिसे ब्रिक सॉर्ट के रूप में भी जाना जाता है, एक समान सॉर्टिंग तकनीक है, जैसे बबल सॉर्ट। इस छँटाई तकनीक को 2 चरणों विषम चरण और सम चरण में विभाजित किया गया है, ये दोनों चरण एक साथ प्रत्येक पुनरावृत्ति पर तब तक हैं जब तक कि सभी तत्व क्रमबद्ध नहीं हो जाते। विषम चरण यह प्रोग्रामिंग तकनीक बब

  1. द्विभाजन विधि के लिए C++ कार्यक्रम

    0 और फलन f(x) a और b के बीच होना चाहिए अर्थात f(x) =[a, b ]. कार्य द्विभाजन विधि का उपयोग करके फ़ंक्शन f(x) में अंतराल a और b के बीच स्थित रूट का मान ज्ञात करना है। द्विभाजन विधि क्या है? द्विभाजन विधि का प्रयोग a और b द्वारा परिभाषित दी गई सीमाओं के भीतर फलन f(x) में एक मूल का मान ज्ञात करने के