我是靠谱客的博主 现实河马,这篇文章主要介绍C#实现组合排列的方法,现在分享给大家,希望可以做个参考。

     C#实现组合排列的方法

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

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

     需求描述:  

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

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

         

    功能实现

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

      1.窗体界面

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

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

      3.窗体类代码 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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.运行效果

结束语

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

最后

以上就是现实河马最近收集整理的关于C#实现组合排列的方法的全部内容,更多相关C#实现组合排列内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(129)

评论列表共有 0 条评论

立即
投稿
返回
顶部