C#实现组合排列的方法

所属分类: 软件编程 / C#教程 阅读数: 44
收藏 0 赞 0 分享

     C#实现组合排列的方法

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

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

     需求描述:  

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

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

         

    功能实现

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

      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.运行效果

结束语

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

更多精彩内容其他人还在看

C#学习笔记之状态模式详解

这篇文章主要为大家详细介绍了C#学习笔记之状态模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C# 字符串、数组和List的截取和转换实例

下面小编就为大家分享一篇C# 字符串、数组和List的截取和转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

c#打包文件解压缩的实例

下面小编就为大家分享一篇c#打包文件解压缩的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈C#跨线程调用窗体控件(比如TextBox)引发的线程安全问题

下面小编就为大家分享一篇浅谈C#跨线程调用窗体控件(比如TextBox)引发的线程安全问题,具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享

判断一个整数是否是2的N次幂实现方法

下面小编就为大家分享一篇判断一个整数是否是2的N次幂实现方法,实例简洁,具有很好的参考价值。希望对大家有所帮助
收藏 0 赞 0 分享

浅谈c#中config.exe 引发的一些问题

下面小编就为大家分享一篇浅谈c#中config.exe 引发的一些问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

基于C#开发中的那些编码问题(详谈)

下面小编就为大家分享一篇基于C#开发中的那些编码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

C#实现WPS文件转PDF格式的方法示例

这篇文章主要介绍了C#实现WPS文件转PDF格式的方法,涉及C#针对office组件的相关引用与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#实现的文件上传下载工具类完整实例【上传文件自动命名】

这篇文章主要介绍了C#实现的文件上传下载工具类,结合完整实例形式分析了C#操作文件上传与下载功能,并且还可针对上传文件自动命名以避免服务器中的文件名重复,需要的朋友可以参考下
收藏 0 赞 0 分享

C# Socket 发送&接收&返回 简单应用实例

下面小编就为大家分享一篇C# Socket 发送&接收&返回 简单应用实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多