এখানে আমরা 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