将写内容过程经常用到的一些内容备份一下, 下边内容是关于 Java 使用递归实现全排列的内容.
- public class AllPermutation
- {
- public static void main(String[] args)
- {
- char[] source=new char[]{'A','B','C'};
- char[] result=new char[source.length];
- allPermutation(0,source,result);
- }
- public static void allPermutation(int index,char[] source,char[] result){
- if(source.length==1){
- result[index]=source[0];
- show(result);
- return ;
- }
- for(int i=0;i<result.length-index;i++){
- result[index]=source[i];
- char[] newSource=getNewSource(source,source[i]);
- allPermutation(index+1, newSource,result);
- }
- }
- public static void show(char[] result){
- System.out.println(result);
- }
- public static char[] getNewSource(char[] source,char c){
- char[] newSource=new char[source.length-1];
- for(int i=0,j=0;i<source.length;i++){
- if(source[i]!=c){
- newSource[j]=source[i];
- j++;
- }
- }
- return newSource;
- }
- }
来源: http://www.bubuko.com/infodetail-2931350.html