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

ASP.NET
关于数据绑定在Web页面呈现效果的一点小技巧
菜鸟模仿duwamish开发时常见的错误
基于.net的快速开发思想
ASP.Net实现将Word转换PDF格式
用ASP.NET建立一个在线RSS新闻聚合器
ASP.NET图象处理详解
名称地址(Namespace)
Win中Net命令的另类用法
浅析.Net下的多线程编程
构造.NET环境下的网页下载器 (1)
构造.NET环境下的网页下载器 (2)
ASP.NET编程中的十大技巧(上)
ASP.NET编程中的十大技巧(下)
C# 3.0语言详解之基本的语言增强
Windows.NET Server: XML Web 服务
ASP.Net中程序构架与程序代码的分离
.NET 数据访问架构指南
用Visual C#打造多页面网页浏览器
.NET 2.0 基础类库中的范型:范型集合
.NETCompactFramework的使用技巧

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


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