C#怎么得到一个数组集合的排列组合,写一种算法。,,,。

比如有三个数组 string[] str1 = { "你","我"}; string[] str2 = { "是", "哎" }; string[] str3 = { "下", "天" };怎么让他们按顺序的排列组合,就是词语的顺序都是按照str1 str2 str3 的顺序。。急急急

//如果就你问题而言如下,如果你上面只是举列说明问题,实际上有很多词语数组那么建议你做个递归方法
string[] result=new string[str1.lenth+str2.lenth+str3.lenth];
int resultindex=0;
for(int i=0;i<str1.lenth;i++)
{
    for(int j=0;j<str2.lenth;j++)
    {
        for(int k=0;k<str3.lenth;k++)
        {
        result[resultindex]=str1[i]+str2[j]+str3[k];
        resultindex++;
        }
    }
}

// result数组就是你想要的很多组合结果

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-18
写一个方法吧
public string ConString(string[] str)
{
string _strRutn="";
for(int i=0;i<str.length;i++)
{
_strRutn+=str[i].tostring();
}
reuten _strRutn;
}
在外面调用就是 string StrCon= ConString(str1)+ConString(str2)+ConString(str3)追问

这只能得到一种结果,我想要的是每个数组中取出一个词来排列组合的很多种的结果。。。

追答

随机取 还是顺序取?
取成这种? 你 是 下 和 我哎天

本回答被网友采纳

C#怎么得到一个数组集合的排列组合,写一种算法。,,,。
\/\/如果就你问题而言如下,如果你上面只是举列说明问题,实际上有很多词语数组那么建议你做个递归方法string[] result=new string[str1.lenth+str2.lenth+str3.lenth];int resultindex=0;for(int i=0;i<str1.lenth;i++){ for(int j=0;j<str2.lenth;j++) { for(int k=0;k<st...

c# 一个数组元素排列组合
从一个集合里取出N个元素组合,当N<=3时,用循环表述比较方便。string[] values = { "A", "B", "C", "D", "E" };Console.WriteLine("取2个组合:");for (int i = 0; i < values.Length - 1; i++){for (int j = i + 1; j < values.Length; j++)Console.WriteLine(va...

C# 数组元素排列组合
return new List<string>() { ca[0].ToString() + ca[1].ToString(), ca[1].ToString() + ca[0].ToString() };} else { char[] array = str.ToCharArray();List<string> temp = GetArrangeString(array[0].ToString(), array[1]);for (int i = 2; i < array.Length; i++)...

C#中的排列组合问题?
这是一个排列组合运用。题目要求包含3,8,9,可见这个n必须大于等dao于3 0~9总共有10个数可选,不包含0,4,则还有8个数可选。必选3,8,9,那剩下的还有5个数可选。要选的数量为:n-3 公式就是【C5选(n-3)】·【An选n】

C# 6个数字得出全部排列组合 写入listbox内
一个组合的数字可以重复的话就简单 一个数组循环6次 不可以重复的话就6个数组 每次挖掉用过的 也是6次循环

c#如何进行排列组合
你把数组改为arr = {"","0","1","2","a","b","c"}(增加一个空字符),然后排列组合,排除最后的”“空字符使用7层for循环即可 for(int a=0;a<7;a++){ for(int b=0;b<7;b++){ ……(arr[a]+arr[b]+arr[c]+arr[d]+arr[e]+arr[f]+arr[g]) } } ...

求一排列组合算法(c++ c# )
next_permutation()是c++ stl中提供的全排列算法 你可以在每次输出之前作判断阿 include<iostream> include<algorithm> using namespace std;define n 4 char a[n]={'a','b','c','d'};int main(){ int i;while(1){ for(i=0;i<n;i++)printf("%c ",a[i]);printf("\\n");if(...

c# 如何将几个数字进行搭配相加,得出全排列组合
static int[] result;\/\/\/ \/\/\/ 应用程序的主入口点。\/\/\/ [STAThread]static void Main(string[] args){ number = new int[] {2,3,4,6};result = new int[number.Length];Backtrace(0);System.Console.Read();} static void Backtrace(int i){ if (i >= number.Length){ \/\/...

...中元素有1,2,3.数组2中元素有A,B,C,D。求排列组合
这个问题可以选择用插入法群举,按照你的要求 两个数组升序排列组合,可以这么写,帮你写到一个方法里面,如下,不明白的问我好了 private void pl(){ char[] c1 = new char[] { 'a', 'b', 'c', 'd' };char[] c2 = new char[] { '1', '2', '3' };char[] cc = new char...

求一个用C#做排列组合的代码
public partial class Form1 : Form { public Form1(){ InitializeComponent();} int[] array = new int[15] { 12, 33, 45, 66, 75, 34, 56, 123, 442, 5454, 242, 234, 665, 5343, 552 };private void button1_Click(object sender, EventArgs e){ lines = new List<string>()...

相似回答