java 递归排序_java排序加递归

已实现功能:输入任意长度的字符串,转化为char型数组需实现功能:把char型数组中的字符排序输出例:输入abc,排序后需要输出abc,acb,bac,cab,bca,cba意思就是在char型数组中储存着abcacbb...

已实现功能:输入任意长度的字符串,转化为char型数组

需实现功能:把char型数组中的字符排序输出

例:输入abc,排序后需要输出abc,acb,bac,cab,bca,cba

意思就是在char型数组中储存着abcacbbaccabbcacba,18个字符,下标0-17被初始化,,,就是一个堆栈不出栈的问题.

方法原形:public void pernute(char[] str, int pos, int length);

char型数组str,位置变量pos,长度变量length.

class Test {

public void pernute(String str) {

char a[] = str.toCharArray();

int f = 1, count= 1;

for(; f <= a.length; f++) {

count = f * count;//count储存需要排序次数

}

char b[] = new char[count * a.length];//定义数组长度:排序次数乘以输入的字符个数

for(int k = 0; k < a.length; k++) {

b[k] = a[k];//把a中值初始化到b中,因为a的长度等于输入的字符个数

}

pernute(b, 0, a.length);

int i = 0;

for(int j = 0; j < count; j++){

for(; i < a.length; i++) {

System.out.print(b[i]);

}

System.out.println("");

}//此FOR嵌套输出排序后的字符,一次一换行

}

public void pernute(char[] str, int pos, int length) {

//此处使用递归方法排序并填充数组

}

public static void main(String args[]) {

String temp = args[0];

new Test().pernute(temp);

}

}

抱歉

原题要求用多态去实现...

我也没辙啊...

想不出递归调用的掉转规律

还请大家帮忙

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值