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#实现在购物车系统中生成不重复订单号的方法.分享给大家供大家参考.具体分析如下: 订单号在购物过程中起到了很好的识别作用,更方便的有利于工作人员识别商品,代码如下: #region 生成单据号 /// <summary> /// 生成单据号 /// </summary> /// <param name="pFromType"></param> /// <returns></returns> publ
-
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#不重复输出一个数组中所有元素的方法
本文实例讲述了C#不重复输出一个数组中所有元素的方法.分享给大家供大家参考.具体如下: 1.算法描述 0)输入合法性校验 1)建立临时数组:与原数组元素一样.该步骤的目的是防止传入的原数组被破坏 2)对临时数组进行排序 3)统计临时数组共有多少个不同的数字.该步骤的目的是为了确定结果集数组的长度 4)建立结果集数组,只存放不同的数字 5)返回结果集 2.函数代码 /// <summary> /// 建立包含原数组内所有元素且元素间互不重复的新数组 /// </summary> //
-
C#生成唯一不重复订单号
在弄电商类网站的时候,往往是根据年月日时分秒的格式生成订单号(yyyyMMddHHmmss),为了解决并发性,就直接在生成订单号的区域块加上lock. 下面,我们来简单测试一下. 1.新建项目(控制台应用程序) 2.新建一个类:OrderIdHelper.cs /// <summary> /// 订单助手 /// </summary> class OrderIdHelper { private static readonly object Locker = new object()
-
C#随机生成不重复字符串的两个不错方法
今天整理以前一个项目源码,发现两个随机生成不重复字符串的方法,觉得用起来挺方便的,在此贴出来,方便以后查阅. 方法一:随机生成不重复数字字符串 复制代码 代码如下: private int rep=0; /// <summary> /// 生成随机数字字符串 /// </summary> /// <param name="codeCount">待生成的位数</param> /// <returns>生成的数字字符串</r
-
C#生成不重复随机字符串类
本文实例讲述了C#生成不重复随机字符串类.分享给大家供大家参考.具体如下: 这个C#类用于随机产生不重复的字符串,可以指定字符串范围,可以指定要产生字符串的长度 using System; namespace DotNet.Utilities { public class RandomOperate { // 一:随机生成不重复数字字符串 private int rep = 0; public string GenerateCheckCodeNum(int codeCount) { string
-
详解C#的排列组合
排列组合的概念 排列:从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement). 组合:从m个不同的元素中,任取n(n≤m)个元素为一组,叫作从m个不同元素中取出n个元素的一个组合. 排列组合实现代码 上一个项目做的一个水路的路径规划时,用到了排列的数据结构.求任意N个点里M个点的不同顺序的组合个数. 这样求最优路径.下面贴一段不知道哪里找的排列组合的算法. public class PermutationAndCombin
-
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#实现组合排列的方法 最近在做数据分析系统,里面涉及到组合排列的问题,查找了很多的资料,但是感觉很多资料都是比较零散的,达不到项目需求. 后来经过一段的时间的探索,终于实现了组合排列的功能.下面我就来简单说说吧. 需求描述: 要实现的功能就是字符或数字的组合排列.例如:ab 的所有组合为:ab,ba : ab的所有不重复排列为:ab. 其实这也是彩票中常说的直选和组选.效果图如下: 功能实现 这里就不多说了,直接贴上实现代码吧. 1.窗体界面 窗体
-
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#查找字符串所有排列组合的方法.分享给大家供大家参考.具体实现方法如下: // 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#中实现任意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
随机推荐
- Egret引擎开发指南之运行项目
- PHP 实现多服务器共享 SESSION 数据
- iOS中长按调出菜单组件UIMenuController的使用实例
- 详解iOS中Button按钮的状态和点击事件
- asp.net性能优化之使用Redis缓存(入门)
- JavaScript中使用stopPropagation函数停止事件传播例子
- 桌面中心(二)数据库写入
- PHP制作百度词典查词采集器
- Android如何给按钮添加点击音效
- Javascript Object 对象学习笔记
- mysql允许远程连接的方法
- 部署维护docker环境的详细教程
- javascript创建createXmlHttpRequest对象示例代码
- Ruby On Rails上手笔记(安装使用全过程)
- Chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页
- JS 控制非法字符的输入代码
- Javascript之Number对象介绍
- 最新病毒变种sxs.exe及xeklsk.exe(柯南病毒)查杀方法
- C++中strtok()函数的用法介绍
- Android中利用动态加载实现手机淘宝的节日特效