您的位置:首页 > 其它

递归 求组合

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);

                }

            }

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: