Ở đây chúng ta sẽ xem cách tạo hoán vị tiếp theo về mặt từ vựng của một chuỗi trong C ++. Hoán vị tiếp theo về mặt từ vựng về cơ bản là hoán vị lớn hơn. Ví dụ, tiếp theo của “ACB” sẽ là “BAC”. Trong một số trường hợp, hoán vị tiếp theo về mặt từ vựng không xuất hiện, như “BBB” hoặc “DCBA”, v.v.
Trong C ++, chúng ta có thể làm điều đó bằng cách sử dụng một hàm thư viện có tên là next_permutation (). Điều này có trong tệp tiêu đề thuật toán.
Ví dụ
#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; } }
Đầu ra
Next: DBCA Next: DCAB Next: DCBA No next permutation