package chapter4;
/**
* @功能说明 :
* 实现一个数组的全排列
* 这里使用了交换+递归法
* @author shaochong
* @Date 2014年12月4日 下午3:06:01
*/
public class pailie
{
static void show(char[] a){
for(int i=0; i<a.length; i++) System.out.print(a[i]+" ");
System.out.println();
}
static void f(char[] a, int k)
{
if(k==a.length-1){
show(a);
return;
}
for(int i=k; i<a.length; i++){
{char t = a[k]; a[k]=a[i]; a[i]=t;}
f(a,k+1);
{char t = a[k]; a[k]=a[i]; a[i]=t;}
}
}
public static void main(String[] args)
{
char[] a = "ABCD".toCharArray();
f(a,0);
}
}
第四讲 递归原理--数组的全排列(递归+交换)
最新推荐文章于 2021-06-19 15:40:18 发布