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

Tất cả các chuỗi có thể có độ dài bất kỳ có thể được hình thành từ một chuỗi đã cho?

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 xong 

Ví 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

>