1.6编写带有下列声明的例程
public void permute(String str);
public void permute(char[] str,int low,int high);
第一个例程是驱动程序。它调用第二个例程并显示String str中的字符的所有序列,如果str是“abc”。则输出的串则为abc,acb,bca,cab,cba,bac,第二个例程是递归。
程序如下,不对的地方希望打击批评指正:
public class test { static int c = 0; public static void main(String[] args) { String s = "abc"; printAllArray(s); } private static void printAllArray(String s) { printAllArray(s, ""); } private static void printAllArray(String s, String n) { if (s.length() == 0) { System.out.println(n + " --- " + ++c); } else { for (int i = 0; i < s.length(); ++i) { printAllArray(s.substring(1), n + s.charAt(0)); s = s.substring(1) + s.charAt(0); } } } }