Java实现字符数组全排列的方法
本文实例讲述了Java实现字符数组全排列的方法。分享给大家供大家参考,具体如下:
importorg.junit.Test;
publicclassAllSort{
publicvoidpermutation(char[]buf,intstart,intend){
if(start==end){//当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可
for(inti=0;i<=end;i++){
System.out.print(buf[i]);
}
System.out.println();
}else{//多个字母全排列
for(inti=start;i<=end;i++){
chartemp=buf[start];//交换数组第一个元素与后续的元素
buf[start]=buf[i];
buf[i]=temp;
permutation(buf,start+1,end);//后续元素递归全排列
temp=buf[start];//将交换后的数组还原
buf[start]=buf[i];
buf[i]=temp;
}
}
}
@Test
publicvoidtestPermutation()throwsException{
char[]buf=newchar[]{'a','b','c'};
permutation(buf,0,2);
}
}
运行测试,输出结果:
abc
acb
bac
bca
cba
cab
希望本文所述对大家Java程序设计有所帮助。