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程序设计有所帮助。