软件编程
位置:首页>> 软件编程>> C#编程>> C#实现组合排列的方法

C#实现组合排列的方法

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

标签:C#,组合排列

     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源码供参考。

0
投稿

猜你喜欢

  • 历史原因当系统启动一个APP时,zygote进程会首先创建一个新的进程去运行这个APP,但是进程的创建是需要时间的,在创建完成之前,界面是呈
  • 二叉堆什么是二叉堆二叉堆本质上是一种完全二叉树,它分为两个类型最大堆:最大堆的任何一个父节点的值,都大于等于它的左、右孩子节点的值(堆顶就是
  • 本文实例讲述了C#入门教程之集合ArrayList用法。分享给大家供大家参考,具体如下:.NET Framework提供了用于数据存储和检索
  • 今天遇到一个需求,需要处理通过接口传过来的一个参数,参数内容为一个拼接好的Url地址,且该地址还会携带了一些额外的参数,包括但不限于数字,字
  • Java Spring Controller 获取请求参数的几种方法 1、直接把表单的参数写在Controller相应的方法的形参
  • 这篇文章主要来讲讲c#中的泛型,因为泛型在c#中有很重要的位置,对于写出高可读性,高性能的代码有着关键的作用。一、什么是泛型?泛型是 2.0
  • 这里分享下我在日常开发中对 Gradle 的常用配置规则一、版本号配置当项目逐渐演进的过程中,主工程依赖的 Module 可能会越来越多,此
  • 一、前言前面我们介绍了运算符的一部分运算符,现在我们把剩余的他介绍完全来二、运算符赋值运算符所谓赋值,就是一个等于号连接的两个如int a=
  • 演示代码如下:package swt_jface.demo11; import org.eclipse.swt.SWT; import or
  • 本文实例为大家分享了Android SeekBar实现平滑滚动的具体代码,供大家参考,具体内容如下由于项目需要,SeekBar只需要三个档,
  • 1 Get请求数据项目地址:https://github.com/Snowstorm0/learn-get-post1.1 Controll
  • 一、环境准备:(根据自己电脑配置来选择安装版本,我的电脑是64位,所以此处选择64位安装)JDK下载:JDK 1.8下载地址: http:/
  • 避免多线程同时读写共享数据在实际开发中,难免会遇到多线程读写共享数据的需求。比如在某个业务处理时,先获取共享数据(比如是一个计数),再利用共
  • sidebarDepth: 3条件构造器说明以下出现的第一个入参boolean condition表示该条件是否加入最后生成的SQL中,例如
  • 下面通过代码看下springboot 跨域配置类,代码如下所示:ackage org.fh.config;import java.io.IO
  • 下载地址:https://www.jb51.net/database/588158.html?_=1522396455592运行程序,关闭工
  • 废话不多说了,直接给大家贴代码了。具体代码如下所述:<?xml version="1.0" encoding=&q
  • 我有一个文本输入对话框,当我点击对话框上的“是”按钮,它会验证输入,然后关闭对话框。但是,如果输入错误,我想停留在同一个对话框中.。每一次,
  • 本文实例为大家分享了Android扫描和生成二维码的具体代码,供大家参考,具体内容如下MainActivity.javapublic cla
  • 一、概述热修复这项技术,基本上已经成为项目比较重要的模块了。主要因为项目在上线之后,都难免会有各种问题,而依靠发版去修复问题,成本太高了。现
手机版 软件编程 asp之家 www.aspxhome.com