C#实现生成所有不重复的组合功能示例
本文实例讲述了C#实现生成所有不重复的组合功能。分享给大家供大家参考,具体如下:
给你几个字母,比如(a,b,c,d,e,f),要求生成所有不重复的组合。
这里重复的定义是这样的,任意两个元素个数相同的组合,如果其包含的元素均两两相等,即视为重复,例如abc和cba就是重复。
嗯,大概意思就是这样,下面给出代码。
static void Main(string[] args) { string[] values = { "a", "b", "c", "d" }; string s; for (int i = 1; i < Math.Pow(2, values.Length) - 1; i++) { s = ""; for (int j = 0; j < values.Length; j++) { if ((i & (int)Math.Pow(2, j)) == Math.Pow(2, j)) s += values[j]; } Console.Write("{0} ",s); } Console.Read(); }
运行结果:
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#数据结构与算法教程》、《C#程序设计之线程使用技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。
相关推荐
-
C#查找字符串所有排列组合的方法
本文实例讲述了C#查找字符串所有排列组合的方法.分享给大家供大家参考.具体实现方法如下: // 1. remove first char // 2. find permutations of the rest of chars // 3. Attach the first char to each of those permutations. // 3.1 for each permutation, move firstChar in all indexes // to produce even
-
C#生成唯一不重复订单号
在弄电商类网站的时候,往往是根据年月日时分秒的格式生成订单号(yyyyMMddHHmmss),为了解决并发性,就直接在生成订单号的区域块加上lock. 下面,我们来简单测试一下. 1.新建项目(控制台应用程序) 2.新建一个类:OrderIdHelper.cs /// <summary> /// 订单助手 /// </summary> class OrderIdHelper { private static readonly object Locker = new object()
-
C#生成指定范围内的不重复随机数
C#生成指定范围内的不重复随机数 // Number随机数个数 // minNum随机数下限 // maxNum随机数上限 public int[] GetRandomArray(int Number,int minNum,int maxNum) { int j; int[] b=new int[Number]; Random r=new Random(); for(j=0;j<Number;j++) { int i=r.Next(minNum,maxNum+1); int num=0; for
-
详解C#的排列组合
排列组合的概念 排列:从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement). 组合:从m个不同的元素中,任取n(n≤m)个元素为一组,叫作从m个不同元素中取出n个元素的一个组合. 排列组合实现代码 上一个项目做的一个水路的路径规划时,用到了排列的数据结构.求任意N个点里M个点的不同顺序的组合个数. 这样求最优路径.下面贴一段不知道哪里找的排列组合的算法. public class PermutationAndCombin
-
C#不重复输出一个数组中所有元素的方法
本文实例讲述了C#不重复输出一个数组中所有元素的方法.分享给大家供大家参考.具体如下: 1.算法描述 0)输入合法性校验 1)建立临时数组:与原数组元素一样.该步骤的目的是防止传入的原数组被破坏 2)对临时数组进行排序 3)统计临时数组共有多少个不同的数字.该步骤的目的是为了确定结果集数组的长度 4)建立结果集数组,只存放不同的数字 5)返回结果集 2.函数代码 /// <summary> /// 建立包含原数组内所有元素且元素间互不重复的新数组 /// </summary> //
-
C#随机生成不重复字符串的两个不错方法
今天整理以前一个项目源码,发现两个随机生成不重复字符串的方法,觉得用起来挺方便的,在此贴出来,方便以后查阅. 方法一:随机生成不重复数字字符串 复制代码 代码如下: private int rep=0; /// <summary> /// 生成随机数字字符串 /// </summary> /// <param name="codeCount">待生成的位数</param> /// <returns>生成的数字字符串</r
-
C#实现排列组合算法完整实例
排列组合是常见的数学问题,本文就以完整实例形式讲述了C#实现排列组合算法的方法.分享给大家供大家参考之用.具体方法如下: 首先,数学中排列组合,可表示为:排列P(N,R) 其实排列实现了,组合也就实现了,组合C(N,R)就是P(N,R)/P(R,R) ,实现这一功能比较简单的是递归算法,但考虑到递归的性能,下面采用了2种非递归的方法,具体代码如下 using System; using System.Collections.Generic; namespace Test { class Prog
-
C#实现组合排列的方法
C#实现组合排列的方法 最近在做数据分析系统,里面涉及到组合排列的问题,查找了很多的资料,但是感觉很多资料都是比较零散的,达不到项目需求. 后来经过一段的时间的探索,终于实现了组合排列的功能.下面我就来简单说说吧. 需求描述: 要实现的功能就是字符或数字的组合排列.例如:ab 的所有组合为:ab,ba : ab的所有不重复排列为:ab. 其实这也是彩票中常说的直选和组选.效果图如下: 功能实现 这里就不多说了,直接贴上实现代码吧. 1.窗体界面 窗体
-
c# 两个数组比较,将重复部分去掉,返回不重复部分的实现
实例如下: List<string> Ashuzu = new List<string>(); Ashuzu.Add("1"); Ashuzu.Add("2"); Ashuzu.Add("3"); List<string> Bshuzu = new List<string>(); Bshuzu.Add("1"); Bshuzu.Add("2"); Bshuzu
-
C#生成不重复随机字符串类
本文实例讲述了C#生成不重复随机字符串类.分享给大家供大家参考.具体如下: 这个C#类用于随机产生不重复的字符串,可以指定字符串范围,可以指定要产生字符串的长度 using System; namespace DotNet.Utilities { public class RandomOperate { // 一:随机生成不重复数字字符串 private int rep = 0; public string GenerateCheckCodeNum(int codeCount) { string
-
C#实现在购物车系统中生成不重复订单号的方法
本文实例讲述了C#实现在购物车系统中生成不重复订单号的方法.分享给大家供大家参考.具体分析如下: 订单号在购物过程中起到了很好的识别作用,更方便的有利于工作人员识别商品,代码如下: #region 生成单据号 /// <summary> /// 生成单据号 /// </summary> /// <param name="pFromType"></param> /// <returns></returns> publ
-
C#中实现任意List的全组合算法代码
复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 算法{ class 全组合算法 { [Flags] public enum PersonType { Audit = 1, Child = 2, Senior = 4
随机推荐
- C#编写一个简单记事本功能
- php+ajax做仿百度搜索下拉自动提示框(有实例)
- [导入][原创]用脚本控制迅雷下载
- vue中component组件的props使用详解
- 微信小程序 传值取值的几种方法总结
- C++ 数据结构之水洼的数量算法
- mybatis中注解映射SQL示例代码
- iOS下PDF文件的浏览和涂鸦效果的简单实现
- thinkphp3查询mssql数据库乱码解决方法分享
- PHP中的MYSQL常用函数(php下操作数据库必备)
- 调整PHP的性能
- 纯JSP+DWR实现三级联动下拉选择菜单实现技巧
- C++基于控制台实现的贪吃蛇小游戏
- 堆排序算法(选择排序改进)
- jquery定时滑出可最小化的底部提示层特效代码
- 博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
- 很实用的Android日期计算类
- Android中TelephonyManager用法实例
- SQL Server允许重复空字段不空字段值唯一
- python实现机械分词之逆向最大匹配算法代码示例