Chủ Nhật, 12 tháng 5, 2024

3.11. Hoán vị của chuỗi

 

- Viết chương trình in tất cả các chuỗi có thể có từ các ký tự của một chuỗi cho trước.

Ví dụ: “PQR” => PPP PPQ PPR PQP PQQ PQR PRP PRQ PRR QPP QPQ QPR QQP QQQ QQR QRP QRQ QRR RPP RPQ RPR RQP RQQ RQR RRP RRQ RRR. 

Code :

public class B16 { public static void main(String[] args) { permutationWithRepeation("PQR"); } private static void permutationWithRepeation(String str1) { System.out.println("The given string is: PQR"); System.out.println("The permuted strings are:"); showPermutation(str1, ""); } private static void showPermutation(String str, String newStr) { if (newStr.length() == str.length()) { System.out.println(newStr); return; } for (int i = 0; i < str.length(); i++) { showPermutation(str, newStr + str.charAt(i)); } } }

/** * PQR P * I = 0 => * PQR PP I=0 PQR PPP * PQR PP I=1 PQR PPQ * PQR PP I=2 PQR PPR * I = 1 => * PQR PQ I=0 PQR PQP * PQR PQ I=1 PQR PQQ * PQR PQ I=2 PQR PQR */

Trong ngữ cảnh của phương thức showPermutation, lời gọi return; được sử dụng để dừng việc thực hiện của phương thức khi chuỗi kết quả (newStr) đã có độ dài bằng với độ dài của chuỗi gốc (str). Khi điều kiện này được đáp ứng, nó in ra chuỗi kết quả và kết thúc việc thực thi của phương thức, ngăn không cho việc thêm bất kỳ ký tự nào nữa vào chuỗi kết quả.

Do đó, dòng return; trong phương thức showPermutation được sử dụng để chấm dứt việc thực hiện của phương thức khi đã đạt được điều kiện dừng. Trong trường hợp này, nó không trả về giá trị nào cụ thể, mà chỉ đơn giản là kết thúc phương thức và quay trở lại nơi gọi nó.

Không có nhận xét nào:

Đăng nhận xét