作者: Jowen
查看: 6783|回复: 14
打印 上一主题 下一主题

[源码] 【C#泛型排列组合核心算法】如果觉得好的话要帮忙推荐哦

[复制链接]
跳转到指定楼层
楼主
Jowen 发表于 2015-5-28 21:04:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
查看: 6783|回复: 14
说明:
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();


案例源码下载:


评分

参与人数 4金钱 +9 收起 理由
iNIC + 3 感谢分享,LZ辛苦了~
Elves_sigh + 1 感谢分享,LZ辛苦了~
乔克斯 + 3 感谢分享,LZ辛苦了~
贱贱的贱贱 + 2 感谢分享,LZ辛苦了~

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 转播转播
回复 论坛版权

使用道具 举报

沙发
乔克斯 发表于 2015-5-28 21:19:19 | 只看该作者
说实话我不知道这个有何作用。。。
板凳
乔克斯 发表于 2015-5-28 21:30:37 | 只看该作者
建议分享些软件案例demo之类的。大家会更感兴趣哦。
地板
 楼主| Jowen 发表于 2015-5-28 21:33:24 | 只看该作者
乔克斯 发表于 2015-5-28 21:30
建议分享些软件案例demo之类的。大家会更感兴趣哦。

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

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

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

好吧。
8#
pain 发表于 2015-5-29 11:19:04 | 只看该作者
赞一个!之前也实现过排列组合,但是是在数组中实现的,这个泛型的更有用
9#
 楼主| Jowen 发表于 2015-5-29 17:05:27 | 只看该作者
pain 发表于 2015-5-29 11:19
赞一个!之前也实现过排列组合,但是是在数组中实现的,这个泛型的更有用 ...

谢谢评价,我分不够了,所以发个好资源分享下
10#
贱贱的贱贱 发表于 2015-5-29 19:56:36 | 只看该作者
喜欢算法的东西·`` 期待更好的技术贴
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-4-26 12:15, Processed in 0.633438 second(s), 33 queries , Gzip On.

快速回复 返回顶部 返回列表