怎么获取数组的全排列

帮忙编写一个方法
输入参数为不确定个数(假定为m)的List,每个List的元素数不一定相同(假设元素数分别为k1,k2,...,km)。
在这m个List中各取一元素组合成一个新的含有m个元素的List,所有可能组合就有k1*k2*...*km种,现在要求将这些组合列出来。

正常的话m个循环嵌套就可以写出来,但现在m相当于也是输入参数了,事先并不知道m是多少,战五渣实在不清楚应该怎么编写。

http://bbs.csdn.net/topics/390212512

如果要考虑循环的话,恐怕还是需要一点技巧的。假设用指针来解决,好像也不是那么容易哎~