C#实现组合排列的方法
C#实现组合排列的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:C#实现组合排列的方法最近在做数据分析系统,里面涉及到组合排列的问题,查找了很多的资料,但是感觉很多资料都是比较零散的,达不到项目需求。后来...

C#实现组合排列的方法

最近在做数据分析系统,里面涉及到组合排列的问题,查找了很多的资料,但是感觉很多资料都是比较零散的,达不到项目需求。

后来经过一段的时间的探索,终于实现了组合排列的功能。下面我就来简单说说吧。

需求描述:

要实现的功能就是字符或数字的组合排列。例如:ab 的所有组合为:ab,ba ; ab的所有不重复排列为:ab。

其实这也是彩票中常说的直选和组选。效果图如下:

C#实现组合排列的方法1

功能实现

这里就不多说了,直接贴上实现代码吧。

1.窗体界面

窗体界面设计入上面的截图。

2.添加引用在项目中,添加引用——>AoTu.ZhuHe.dll

3.窗体类代码

public partial class FrmDemo : Form { public FrmDemo() { InitializeComponent(); } private void FrmDemo_Load( sender, EventArgs e) { string svn = "0b1de737-cea695ab-fc505423-bdd5f3db "; bool ret = ZhuHeNum.Initia(svn); if (!ret) MessageBox.Show("注册失败!"); } private void btnNot2_Click( sender, EventArgs e) { string str = txtnot.Text; List<string> list = ZhuHeNum.NumNoRepeAssembly(str, 2); if (list == null) { MessageBox.Show("注册失败!"); return; } list.Sort(); StringBuilder sbBuilder = new StringBuilder(); foreach (string s in list) { sbBuilder.Append(s); sbBuilder.Append("rn"); } txtShow.Clear(); txtShow.Text = sbBuilder.ToString(); lbCount.Text = list.Count.ToString(); } private void btnNot3_Click( sender, EventArgs e) { string str = txtnot.Text; List<string> list = ZhuHeNum.NumNoRepeAssembly(str, 3); if (list == null) { MessageBox.Show("注册失败!"); return; } list.Sort(); StringBuilder sbBuilder = new StringBuilder(); foreach (string s in list) { sbBuilder.Append(s); sbBuilder.Append("rn"); } txtShow.Clear(); txtShow.Text = sbBuilder.ToString(); lbCount.Text = list.Count.ToString(); } private void btnAll2_Click( sender, EventArgs e) { string str = txtAll.Text; List<string> list = ZhuHeNum.NumGroupAssembly(str, 2); if (list == null) { MessageBox.Show("注册失败!"); return; } list.Sort(); StringBuilder sbBuilder = new StringBuilder(); foreach (string s in list) { sbBuilder.Append(s); sbBuilder.Append("rn"); } txtShow.Clear(); txtShow.Text = sbBuilder.ToString(); lbCount.Text = list.Count.ToString(); } private void btnAll3_Click( sender, EventArgs e) { string str = txtAll.Text; List<string> list = ZhuHeNum.NumGroupAssembly(str, 3); if (list == null) { MessageBox.Show("注册失败!"); return; } list.Sort(); StringBuilder sbBuilder = new StringBuilder(); foreach (string s in list) { sbBuilder.Append(s); sbBuilder.Append("rn"); } txtShow.Clear(); txtShow.Text = sbBuilder.ToString(); lbCount.Text = list.Count.ToString(); } }

4.运行效果

C#实现组合排列的方法2

结束语

至此,直选和组选功能就实现了。附上demo源码供参考。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类