已实现功能3360输入任意长度的字符串,要转换为char型数组,必须在abc中输入安装功能:char型数组中的示例字符排序输出:排序后输出abc、acb、bac、cab、bca、cba .
已实现的功能:输入任意长度的字符串,变换为char型数组
安装功能:对char型排列内的字符进行排序并输出
示例需要输入:abc,并在排序后输出ABC、acb、bac、cab、bca和cba
char型数组中存储了abcacbbaccabbcacba,初始化了18个字符,下标0-17,堆栈无法从堆栈中出来。
方法原形: publicvoidpernute (char [ ] str,int pos,int length );
char型数组str、位置变量pos、长度变量length。
类测试{
publicvoidpernute(stringstr ) {
char a[]=str.toCharArray (;
int f=1,count=1;
for (; f=a.length; f ) {
count=f * count; //count存储需要排序次数
}
charb [ ]=new char [ count * a.length ]; //定义数组长度:排序次数乘以输入的字符数
for(intk=0; 凯. length; k ) {
b[k]=a[k]; 将//a的中央值初始化为b。 这是因为a的长度与输入的字符数相等
}
pernute(b,0,a.length );
int i=0;
for(intj=0; j count; j ) {
for (; i a.length; I ) {
系统. out.print (b [ I ];
}
System.out.println (' ';
//此FOR嵌套排序后的字符,并一次换行
}
publicvoidpernute(char[]str,int pos,int length ) )。
//这里用递归的方法对数组进行排序和填充
}
publicstaticvoidmain (string args [ ] ) {
字符串temp=args [0];
new Test ().pernute ) ) temp;
}
}
对不起
原题要求多态实现.
我也没办法啊.
想不出递归调用的规律
也请大家协助
展开