এখানে আমরা C++-এ একটি স্ট্রিং-এর পরবর্তী পারমুটেশন কীভাবে তৈরি করতে হয় তা দেখব। অভিধানগতভাবে পরবর্তী স্থানান্তরটি মূলত বৃহত্তর স্থানান্তর। উদাহরণস্বরূপ, “ACB”-এর পরেরটি হবে “BAC”। কিছু কিছু ক্ষেত্রে, আভিধানিকভাবে পরবর্তী পারমুটেশন নেই, যেমন "BBB" বা "DCBA" ইত্যাদি।
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