C#实现组合排列的方法

作者:aotujbzj 时间:2021-10-04 02:25:01 

     C#实现组合排列的方法

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

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

     需求描述:

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

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

        C#实现组合排列的方法 

   功能实现

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

      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("\r\n");       }  
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("\r\n");
}  
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("\r\n");       }
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("\r\n");  
}
txtShow.Clear();      
txtShow.Text = sbBuilder.ToString();
lbCount.Text = list.Count.ToString();
}  
}

     4.运行效果

C#实现组合排列的方法

结束语

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

标签:C#,组合排列
0
投稿

猜你喜欢

  • Java使用Preference类保存上一次记录的方法

    2023-05-08 01:49:14
  • C#编程总结(一)序列化总结

    2022-04-07 04:25:19
  • Java中如何计算一段程序的运行时间

    2022-12-17 10:52:06
  • 线程池中execute与submit的区别说明

    2023-03-18 23:09:04
  • 深入C#中使用SqlDbType.Xml类型参数的使用详解

    2022-07-24 13:56:18
  • Java查找并高亮PDF文本过程解析

    2022-02-17 07:20:32
  • Java Map接口概述和常用方法详解

    2022-07-29 14:19:06
  • android全局监控click事件的四种方式(小结)

    2023-05-02 07:33:31
  • Java线程的生命周期和状态控制_动力节点Java学院整理

    2022-01-25 17:01:42
  • 详解Android Webview加载网页时发送HTTP头信息

    2023-11-16 02:32:34
  • 浅谈BeanPostProcessor加载次序及其对Bean造成的影响分析

    2022-05-02 19:52:29
  • C#使用Word中的内置对话框实例

    2023-08-11 08:04:20
  • java开发ShardingSphere的路由引擎类型示例详解

    2023-11-29 01:18:56
  • 详解C#中三个关键字params,Ref,out

    2021-09-25 18:54:02
  • Java 处理超大数类型之BigInteger案例详解

    2021-06-20 15:36:38
  • Java线程生命周期的终止与复位

    2022-04-22 01:57:01
  • Android仿微信单击拍照长按录像功能实例代码

    2022-01-16 17:45:07
  • Mybatis 入参类型方式全面详解

    2023-10-16 20:03:40
  • 如何让Spring Rest 接口中路径参数可选

    2022-02-17 19:29:14
  • 详解Java如何在Array和List之间进行转换

    2023-05-27 07:37:27
  • asp之家 软件编程 m.aspxhome.com