首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求数组排列组合算法,该如何解决

2012-03-25 
求数组排列组合算法数组{A,B,C,D}{a,b,c,d}求数组的所有排列,得到的结果应该是:{a,B,C,D}{A,b,C,D}{A,B,c,

求数组排列组合算法
数组
{A,B,C,D}
{a,b,c,d}

求数组的所有排列,得到的结果应该是:
{a,B,C,D}
{A,b,C,D}
{A,B,c,D}
{A,B,C,d}
{a,b,C,D}
{a,B,c,D}
{a,B,C,d}
{a,b,c,D}
.......
.......
........


数组等长。

[解决办法]

C# code
string[] source1 = new string[] { "A", "B", "C", "D" };string[] source2 = new string[] { "1", "2", "3", "4" };List<string[]> list = new List<string[]>();for (int i = 0; i < 16; i++){    string[] s = source1.ToArray();    for (int j = 0; j < 4; j++)    {        if (i & (2 << j - 1) == i) s[j] = source2[j];    }    list.Add(s);} 

热点排行