求不同字母全排列两种递归模板
生活随笔
收集整理的这篇文章主要介绍了
求不同字母全排列两种递归模板
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
// ABCDE 所有排列
public class B
{ // aa: 待排数据// k: 考虑的当前位置(数组下标)static void f(char[] aa, int k){if(k==aa.length-1){System.out.println(String.valueOf(aa));return;}for(int i=k; i<aa.length; i++){{char t=aa[k]; aa[k]=aa[i]; aa[i]=t;} // 试探f(aa,k+1);{char t=aa[k]; aa[k]=aa[i]; aa[i]=t;} // 回溯
}}public static void main(String[] args){f("ABC".toCharArray(), 0);}
} import java.util.*;
public class A
{ static List f(String s){List lst = new Vector();if(s.length()==1){lst.add(s);return lst;}for(int i=0; i<s.length(); i++){char x = s.charAt(i);List t = f(s.substring(0,i)+s.substring(i+1));for(int k=0; k<t.size(); k++){lst.add("" + x + t.get(k));}}return lst;}public static void main(String[] args){List lst = f("ABC");for(int i=0; i<lst.size(); i++){System.out.println(lst.get(i));}}
}
转载于:https://www.cnblogs.com/jizhidexiaobai/p/8594340.html
总结
以上是生活随笔为你收集整理的求不同字母全排列两种递归模板的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【MFC】在CHtmlView中准确判断
- 下一篇: 插入排序--希尔排序