当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET教程:多个Set排列算法

ASP.NET
ASP.NET在上传文件时对文件类型的高级判断的代码
JQuery运用ajax注册用户实例(后台asp.net)
Asp.net与SQLserver一起打包部署安装图文教程
asp.net 上传下载输出二进制流实现代码
asp.net(C#)解析Json的类代码
asp.net 截取字符串代码
asp.net ubb使用代码
asp.net XML文件操作实现代码
asp.net利用HttpModule实现防sql注入
ASP.NET(C#)中操作SQLite数据库实例
asp.net(c#)ref,out ,params的区别
asp.net(C#)防sql注入组件的实现代码
asp.net FCKeditor自定义非空验证
Asp.net TreeView来构建用户选择输入的方法 推荐
asp.net(C#)函数对象参数传递的问题
Asp.net中的GridView导出遇到的两个问题和解决方法
asp.Net 中获取一周第一天,一月第一天等实现代码
asp.net MaxLengthValidator 最大长度验证控件代码
C# 通用文件上传类
asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图

ASP.NET教程:多个Set排列算法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 311 ::
收藏到网摘: n/a

using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;
public class Test{
public static void Main(string [] args){
    string CheckDefault="A,B,C;D,E;G,F,J";
    string[] Lists=CheckDefault.Split(';');
    int MAXResult=1;
    int MAXColum=Lists.Length;
    List<string[]> c=new List<string[]>(MAXColum);
    for(int i=0;i< MAXColum;i++){
        c.Add(Lists[i].Split(','));
        MAXResult*=c[i].Length;
    }
    int[] k=new int[MAXColum];
    for(int i=0;i<MAXResult;i++){
        for(int j=0;j<MAXColum;j++){
            Console.Write( c[j][k[j]]+(j==MAXColum-1?"\r\n":""));
        }
        AddOne(c,ref k);
    }
    Console.WriteLine("总数是{0}",MAXResult);
}
public static void AddOne(List<string[]> c,ref int[] k){
    int zoomCol=k.Length-1;
    while(zoomCol>0 &&  k[zoomCol]+1 == c[zoomCol].Length){
        k[zoomCol]=0;
        zoomCol--;
    }
    k[zoomCol]+=1;
}
}