Trong phần này, chúng ta sẽ xem cách tạo tất cả các chuỗi có thể có độ dài bất kỳ, điều này sẽ lấy từng tổ hợp ký tự để tạo thành chuỗi. Ví dụ:nếu chuỗi là ABC, thì nó sẽ tạo ra - {A, B, C, AB, BA, BC, CB, CA, AC, ABC, ACB, BAC, BCA, CAB, CBA}
Hãy để chúng tôi xem ví dụ để có được ý tưởng.
Thuật toán
printAllString (str)
Begin n:=độ dài của chuỗi str đếm là 2 ^ n - 1 cho mỗi số 0 để đếm, do sub_str:=chuỗi trống cho j trong phạm vi 0 đến n, thực hiện nếu bit thứ j của bộ đếm được đặt, sau đó nối ký tự thứ j của str với sub_str end nếu xong lặp lại:print sub_string cho đến khi hoán vị tiếp theo của sub_string chưa hoàn thành xongVí dụ
#include#include #include using namespace std; void printAllString (string str) {int n =str.size (); unsigned int count =pow (2, n); for (int counter =1; counter Đầu ra
>