标题: (已解决)一个输出数组中的字符组合的函数 [打印本页] 作者: long 时间: 2013-5-10 11:52 标题: (已解决)一个输出数组中的字符组合的函数 本帖最后由 long 于 2013-5-10 15:48 编辑
哪位大神赐教一下:有一个函数void printArray(char[] arr, int n);
char[] chs = {'a', 'b', 'c', 'd', 'e'};
执行printArray(chs, 1);时输出:a b c d e
执行printArray(chs, 2);时输出:ab ac ad ae bc bd be cd ce de
执行printArray(chs, 3);时输出:abc abd abe acd ace ade bcd bce bde cde
.......
执行printArray(chs, 5);时输出:abcde
这个函数怎么实现。 作者: 卫奔 时间: 2013-5-10 12:18
全排列!!! 不过数据大的话时间很容易爆作者: 刘胜寒 时间: 2013-5-10 12:40
确实是全排列。。。。
根据排列组合的范围,数据较多的时候运算次数会很大。。
用递归吧...作者: 飞鸟青崖 时间: 2013-5-10 12:44
这个题哪里的?看到第三回类似的了。作者: zms2100 时间: 2013-5-10 12:54 本帖最后由 zms2100 于 2013-5-10 13:13 编辑
这是很死板的方式,没有扩展性,刚看到LS们的建议,想想用递归什么的怎么搞,O(∩_∩)O~
package hehe;
class PrintDemo
{
public static void main(String[] args)
{
char[] chs = {'a', 'b', 'c', 'd', 'e'};
printArray(chs, 1); //时输出:a b c d e
sop("————————————————");
printArray(chs, 2); //时输出:ab ac ad ae bc bd be cd ce de
sop("————————————————");
printArray(chs, 3); //时输出:abc abd abe acd ace ade bcd bce bde cde
sop("————————————————");
printArray(chs, 4);
sop("————————————————");
printArray(chs, 5); //时输出:abcde