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

सी ++ में लेक्सिकोग्राफिक रूप से अगला क्रमपरिवर्तन

यहां हम देखेंगे कि सी ++ में एक स्ट्रिंग के लेक्सिकोग्राफिक रूप से अगले क्रमपरिवर्तन को कैसे उत्पन्न किया जाए। लेक्सिकोग्राफिक रूप से अगला क्रमपरिवर्तन मूल रूप से अधिक से अधिक क्रमपरिवर्तन है। उदाहरण के लिए, "ACB" का अगला "BAC" होगा। कुछ मामलों में, लेक्सिकोग्राफ़िक रूप से अगला क्रमपरिवर्तन मौजूद नहीं है, जैसे "बीबीबी" या "डीसीबीए" आदि।

C++ में हम इसे next_permutation() नामक लाइब्रेरी फंक्शन का उपयोग करके कर सकते हैं। यह एल्गोरिथम हेडर फ़ाइल में मौजूद है।

उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;
main() {
   string s = "DBAC";
   for(int i = 0; i<5; i++) {
      bool val = next_permutation(s.begin(), s.end());
      if (val == false) {
         cout << "No next permutation" << endl;
         break;
      } else
      cout << "Next: " << s << endl;
   }
}

आउटपुट

Next: DBCA
Next: DCAB
Next: DCBA
No next permutation

  1. C++ . में विभाजन सूची

    मान लीजिए कि हमारे पास एक लिंक की गई सूची और एक मान x है। हमें विभाजन करना है। यह विभाजन ऐसा है कि x से कम के सभी नोड x से बड़े या उसके बराबर नोड्स से पहले आते हैं। हमें इन दो विभाजनों में से प्रत्येक में नोड्स के मूल सापेक्ष क्रम को संरक्षित करना चाहिए। तो अगर सूची [1,4,3,2,5,2] और x =3 जैसी है, तो

  1. सी ++ में बदसूरत संख्या

    कुरूप संख्याएँ वे संख्याएँ हैं जिनके अभाज्य गुणनखंड 2, 3 या 5 हैं। 1 से 15 तक 11 कुरूप संख्याएँ 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15 हैं। संख्याएँ 7 , 11, 13 बदसूरत नहीं हैं क्योंकि वे अभाज्य हैं। 14 नंबर बदसूरत नहीं है क्योंकि इसके अभाज्य गुणनखंड में 7 आएगा। तो मान लीजिए हम 10वीं बदसूरत संख्या की जां

  1. पायथन में अगला क्रमपरिवर्तन

    मान लीजिए कि हम अगली क्रमपरिवर्तन पद्धति को लागू करना चाहते हैं, तो वह विधि संख्याओं को लेक्सिकोग्राफिक रूप से संख्याओं के अगले बड़े क्रमपरिवर्तन में पुनर्व्यवस्थित करती है। यदि ऐसी व्यवस्था संभव नहीं है, तो यह विधि इसे न्यूनतम संभव क्रम के रूप में पुनर्व्यवस्थित करेगी (अर्थात, आरोही क्रम में क्रमबद