求不同字母全排列两种递归模板
生活随笔
收集整理的這篇文章主要介紹了
求不同字母全排列两种递归模板
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
// ABCDE 所有排列
public class B
{ // aa: 待排數(shù)據(jù)// k: 考慮的當(dāng)前位置(數(shù)組下標(biāo))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));}}
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/jizhidexiaobai/p/8594340.html
總結(jié)
以上是生活随笔為你收集整理的求不同字母全排列两种递归模板的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【MFC】在CHtmlView中准确判断
- 下一篇: linux正则