CSkin博客

标题: 【C#泛型排列组合核心算法】如果觉得好的话要帮忙推荐哦 [打印本页]

作者: Jowen    时间: 2015-5-28 21:04
标题: 【C#泛型排列组合核心算法】如果觉得好的话要帮忙推荐哦
说明:
1.排列方法介绍,支持数组,支持字符,支持整形、浮点等等型,还有你想不到的型,具体自己可以测验,因为方法为泛型方法,泛型参数可以自己设定。其中排列有三中重载,方法参数很简单,相信大家应该很容易看的明白。

重载1.全排
重载2.一组数据中任意取几个数排列(数字应小于等于总数,否则返回null)

重载3,指定起始索引到末尾索引排列(举个例子,比如你有一组数据为12345,你指定中间三个排列,那么头尾1、5不变,中间排列,总共六种排列。
组合只有一种方法,具体自己可以看看代码吧。其中算法在附件中。喜欢就赶快购买吧,一个方法一个金币,很值哦。

效果图:


下面我示范一个例子代码:
[C#] 纯文本查看 复制代码

  float[] arr = new float[3];
            for (int i = 0; i < arr.Length; i++)
            {
                arr = i + 1;
            }
            //求排列
            List<float[]> lst_Permutation = PermutationAndCombination<float>.GetPermutation(arr,3);
            //其中
            List<float[]> lst_Combination = PermutationAndCombination<float>.GetCombination(arr, 2);
            Console.WriteLine("排列:");
            int icount = 1;
            foreach (float[] array in lst_Permutation)
            {               
                Console.Write("排列1" + icount++ + "-->");
                foreach (float itemp in array)
                {
                    Console.Write(itemp.ToString() + ",");
                }
                Console.WriteLine();               
            }
            Console.WriteLine("组合:");
            icount = 1;
            foreach (float[] array in lst_Combination)
            {
                Console.Write("组合1" + icount++ + "-->");
                foreach (float itemp in array)
                {
                    Console.Write(itemp.ToString() + ",");
                }
                Console.WriteLine();
            }
            Console.ReadKey();


案例源码下载:
Program.zip (1.52 KB, 下载次数: 29, 售价: 2 金钱)


作者: 乔克斯    时间: 2015-5-28 21:19
说实话我不知道这个有何作用。。。
作者: 乔克斯    时间: 2015-5-28 21:30
建议分享些软件案例demo之类的。大家会更感兴趣哦。
作者: Jowen    时间: 2015-5-28 21:33
乔克斯 发表于 2015-5-28 21:30
建议分享些软件案例demo之类的。大家会更感兴趣哦。

这个主要是实用性的,program附件中包含算法,可能我描述的不太清楚吧
作者: 乔克斯    时间: 2015-5-28 21:35
Jowen 发表于 2015-5-28 21:33
这个主要是实用性的,program附件中包含算法,可能我描述的不太清楚吧

好吧=-=其实和我一样更多人喜欢。。功能性的软件案例。如果是帮助类的话=-=像一些常用的XML处理类。json处理类。。图像处理类。会更多人需要。
作者: Jowen    时间: 2015-5-28 21:37
乔克斯 发表于 2015-5-28 21:35
好吧=-=其实和我一样更多人喜欢。。功能性的软件案例。如果是帮助类的话=-=像一些常用的XML处理类。json ...

恩,那些我看到帖子中好多人发了Helper类,所以我一般就发些别人没有发过的,这个就算给他人补个空缺,发别人发过的或者类似或者有重复的,给观贴者带来迷惑,所以我就发泄实用的,直接可以收纳到自己的的类中用的
作者: 乔克斯    时间: 2015-5-28 21:38
Jowen 发表于 2015-5-28 21:37
恩,那些我看到帖子中好多人发了Helper类,所以我一般就发些别人没有发过的,这个就算给他人补个空缺,发 ...

好吧。
作者: pain    时间: 2015-5-29 11:19
赞一个!之前也实现过排列组合,但是是在数组中实现的,这个泛型的更有用
作者: Jowen    时间: 2015-5-29 17:05
pain 发表于 2015-5-29 11:19
赞一个!之前也实现过排列组合,但是是在数组中实现的,这个泛型的更有用 ...

谢谢评价,我分不够了,所以发个好资源分享下
作者: 贱贱的贱贱    时间: 2015-5-29 19:56
喜欢算法的东西·`` 期待更好的技术贴
作者: peizhidongqq    时间: 2015-7-6 09:48
一个 for循环就行了  还搞2个穷举
string.Join(",",lst_Combination[i])
作者: peizhidongqq    时间: 2015-7-6 09:48
此源码 网上有 不需要金币
作者: iNIC    时间: 2015-7-6 18:48
没见过,下载研究下吧。。。
作者: huangyouwei    时间: 2015-7-7 07:45
可以学习一下,楼下辛苦了
作者: jacksonwong    时间: 2019-5-8 11:04
谢谢了!




欢迎光临 CSkin博客 (http://bbs.cskin.net/) Powered by Discuz! X3.2