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

C++ STL में Next_Permutation का कार्यान्वयन

STL में next_permutation का उपयोग रेंज [first, last] में तत्वों को अगले लेक्सिकोग्राफिकली बड़े क्रमपरिवर्तन में पुनर्व्यवस्थित करने के लिए किया जाता है। एक क्रमपरिवर्तन उन N! संभावित व्यवस्थाओं में से प्रत्येक है जो तत्व ले सकते हैं। यह STL में Next_permutation को लागू करने के लिए एक C++ प्रोग्राम है।

एल्गोरिदम

Begin
    एक पूर्णांक सरणी वेरिएबल elements[] परिभाषित करें।
    उपयोगकर्ता से डेटा की संख्या e प्राप्त करें।
    सरणी elements[] को कीबोर्ड से e संख्या के डेटा से इनिशियलाइज़ करें।
    सभी सरणी तत्वों को सॉर्ट करें।
    do
        show(elements, e) // सरणी की वर्तमान सामग्री प्रदर्शित करने के लिए
    while (next_permutation(elements, elements + e))
End

उदाहरण कोड

#include <iostream>
#include <algorithm>
using namespace std;

void show(int a[], int n) {
    for(int i = 0; i < n; i++) {
        cout << a[i] << " ";
    }
    cout << endl;
}

int main() {
    int e, i;
    cout << "Enter number of elements to be inserted: ";
    cin >> e;
    int elements[e];

    for (i = 0; i < e; i++) {
        cout << "Enter " << i + 1 << " element: ";
        cin >> elements[i];
    }

    sort(elements, elements + e);

    cout << "The " << e << "! possible permutations with ";
    cout << e << " elements: " << endl;

    do {
        show(elements, e);
    } while (next_permutation(elements, elements + e));

    return 0;
}

आउटपुट

Enter number of elements to be inserted: 4
Enter 1 element: 7
Enter 2 element: 6
Enter 3 element: 2
Enter 4 element: 10
The 4! possible permutations with 4 elements:
2 6 7 10
2 6 10 7
2 7 6 10
2 7 10 6
2 10 6 7
2 10 7 6
6 2 7 10
6 2 10 7
6 7 2 10
6 7 10 2
6 10 2 7
6 10 7 2
7 2 6 10
7 2 10 6
7 6 2 10
7 6 10 2
7 10 2 6
7 10 6 2
10 2 6 7
10 2 7 6
10 6 2 7
10 6 7 2
10 7 2 6
10 7 6 2
  1. C++ STL में Set_Symmetric_Difference का कार्यान्वयन C++ STL में Set_Symmetric_Difference का कार्यान्वयन

    यह C++ प्रोग्राम set_symmetric_difference को लागू करने के लिए है। दो सेट का सिमेट्रिक डिफरेंस उन तत्वों द्वारा बनाया जाता है जो एक सेट में मौजूद होते हैं, लेकिन दूसरे में नहीं। सामान्य सेट ऑपरेशन हैं: Set Union Set Intersection Symmetric Set Difference या Exclusive-OR Set Difference या Subtraction

  1. C++ STL में Set_Intersection का कार्यान्वयन C++ STL में Set_Intersection का कार्यान्वयन

    दो सेट का इंटरसेक्शन केवल उन तत्वों द्वारा बनता है जो दोनों सेट में कॉमन होते हैं। फंक्शन द्वारा कॉपी किए गए तत्व हमेशा पहले सेट से उसी क्रम में आते हैं। दोनों सेट में तत्व पहले से क्रमबद्ध होने चाहिए। सामान्य सेट ऑपरेशन हैं: Set Union Set Intersection Symmetric Set Difference या Exclusive-OR Set

  1. C++ STL में Set_Difference का कार्यान्वयन C++ STL में Set_Difference का कार्यान्वयन

    दो सेट का डिफरेंस केवल उन तत्वों द्वारा बनता है जो पहले सेट में मौजूद होते हैं, दूसरे सेट में नहीं। फंक्शन द्वारा कॉपी किए गए तत्व हमेशा पहले सेट से उसी क्रम में आते हैं। दोनों सेट में तत्व पहले से क्रमबद्ध होने चाहिए। सामान्य सेट ऑपरेशन हैं: Set Union Set Intersection Symmetric Set Difference या