递归 求组合
2015-10-30 11:50
507 查看
static void Main(string[] args)
{
int[] a = new int[32];
for (int i = 0; i < a.Length; i++)
{
a[i] = i + 1;
}
int b = 0;
int c = 0;
List<int[]> k = new List<int[]>();
Combination(new int[3], a, b, c, ref k);
}
static void Combination<T>(T[] b, T[] a, int currentIndex, int currentFloor, ref List<T[]> list)
{
for (int i = currentIndex; (i <= currentIndex + a.Length - b.Length) && i < a.Length; i++)
{
b[currentFloor] = a[i];
if (currentFloor == b.Length - 1)
{
list.Add(b);
}
else
{
Combination(b, a, i + 1, currentFloor + 1, ref list);
}
}
}
{
int[] a = new int[32];
for (int i = 0; i < a.Length; i++)
{
a[i] = i + 1;
}
int b = 0;
int c = 0;
List<int[]> k = new List<int[]>();
Combination(new int[3], a, b, c, ref k);
}
static void Combination<T>(T[] b, T[] a, int currentIndex, int currentFloor, ref List<T[]> list)
{
for (int i = currentIndex; (i <= currentIndex + a.Length - b.Length) && i < a.Length; i++)
{
b[currentFloor] = a[i];
if (currentFloor == b.Length - 1)
{
list.Add(b);
}
else
{
Combination(b, a, i + 1, currentFloor + 1, ref list);
}
}
}
相关文章推荐
- Java编程思想小笔记3(第11章)
- 关于The MySQL server is running with the--skip-grant-tables option so it cannot execute thisstatement
- 在Hibernate中增删改查
- SuperMap iClient 7C for Flash之热点图的时间轴控制
- java semaphore
- 会话跟踪技术
- java native方法使用及JNI实例
- 单例模式 - 简不简单你说了算?
- token机制(Struts中知识点)
- .Net 与 Java 的服务接口相互调用
- ArcGIS教程:边界清理 (Spatial Analyst)
- Intellij IDEA使用入门
- Tar 命令参数详解
- 获取apk文件上的精美图片素材
- Android Studio遇到的问题一
- vs2010 多进程 调试
- angular 版本区间
- linux命令free -m 详解
- mariadb galera cluster wsrep相关参数
- 01OC概述