一个算法问题。 散发算法数组c# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Collections;using System.Collections.Generic;using System.Text;using System.Linq;public class Descartes{public static void run(List<List<string>> dimvalue, List<string> result, int layer, string curstring){if (layer < dimvalue.Count - 1){if (dimvalue[layer].Count == 0)run(dimvalue, result, layer + 1, curstring);else{for (int i = 0; i < dimvalue[layer].Count; i++){StringBuilder s1 = new StringBuilder();s1.Append(curstring);s1.Append(dimvalue[layer][i]);run(dimvalue, result, layer + 1, s1.ToString());}}}else if (layer == dimvalue.Count - 1){if (dimvalue[layer].Count == 0) result.Add(curstring);else{for (int i = 0; i < dimvalue[layer].Count; i++){result.Add(curstring + dimvalue[layer][i]);}}}}}程序使用说明(1)将每个维度的集合的元素视为List<string>,多个集合构成List<List<string>> dimvalue作为输入(2)将多维笛卡尔乘积的结果放到List<string> result之中作为输出(3)int layer, string curstring只是两个中间过程的参数携带变量(4)程序采用递归调用,起始调用示例如下:List<string> result = new List<string>();Descartes.run(dimvalue, result, 0, "");即可获得多维笛卡尔乘积的结果。 datatable的RowState问题 C# 字符串读取问题 如何得到控件句柄 VS2008打包,安装问题!!! 在c#中关于选项卡控件 C#连接Orcale进行数据库读取 关于vs2005编译后不能在别人机器上运行? Graphics怎么没有DrawPoint之类的画点的命令? 能否在运行时检测类是否实现某个接口? 各位老大,如何从C#访问VC7的非托管代码Dll ? Post自动提交表单 C#连接oracle出现中文乱码的问题
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货