Computer >> Máy Tính >  >> Lập trình >> C ++

Hoán vị tiếp theo về mặt ngôn ngữ học trong C ++

Ở đâ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