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

ASP.NET
.NET:InTheHand提供的类操作SMS
捕捉WPF应用程序中XAML代码解析异常
学习asp.net之SQL语句查询效率和安全性
一个不被flash、select、activex遮挡的、跨frame的无限分级菜单
探索 ASP.NET Futures
MSDN Visual系列:创建SharePoint Services解决方案包
.net中如何给数据表实体类赋值的方法
关于C#静态构造函数的几点说明
经典教程:用.net动态创建类的实例
ASP.NET 遍历配置文件的连接字符串
ASP.Net中利用CSS实现多界面两法
ASP.NET生成静态HTML页面并分别按年月目录存放
如何在ASP.net(C#)下操作XML文件
技巧应用:ASP.Net中的MD5加密
三层架构各层间的访问过程
asp.net初学者:petshop4.0设计说明
asp.net利用RAR实现文件压缩解压缩
.NET2.0抓取网页全部链接
给初学.net的您几点建议
如何实现ASP.NET网站个性化

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 138 ::
收藏到网摘: 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;
}
}