C#查找字符串所有排列组合的方法

作者:lele 时间:2022-07-04 10:01:54 

本文实例讲述了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 more permutations.
// 4. Return list of possible permutations.
public string[] FindPermutations(string word)
{
if (word.Length == 2)
{
 char[] _c = word.ToCharArray();
 string s = new string(new char[] { _c[1], _c[0] });
 return new string[]
 {
  word,
  s
 };
}
List<string> _result = new List<string>();
string[] _subsetPermutations = FindPermutations(word.Substring(1));
char _firstChar = word[0];
foreach (string s in _subsetPermutations)
{
 string _temp = _firstChar.ToString() + s;
 _result.Add(_temp);
 char[] _chars = _temp.ToCharArray();
 for (int i = 0; i < _temp.Length - 1; i++)
 {
  char t = _chars[i];
  _chars[i] = _chars[i + 1];
  _chars[i + 1] = t;
  string s2 = new string(_chars);
  _result.Add(s2);
 }
}
return _result.ToArray();
}

希望本文所述对大家的C#程序设计有所帮助。

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

猜你喜欢

  • android中图片加载到内存的实例代码

    2023-05-23 06:04:35
  • C#实现支付宝沙箱支付的项目实践

    2021-07-29 17:18:18
  • Android AutoCompleteTextView连接数据库自动提示的方法(附demo源码下载)

    2023-09-23 14:53:20
  • java实现简单登录界面的实战过程

    2022-02-07 20:19:51
  • MyBatis使用动态SQL标签的小陷阱

    2023-09-11 04:42:57
  • SpringCloud Hystrix-Dashboard仪表盘的实现

    2023-03-16 18:38:03
  • Android自定义输入法软键盘

    2023-04-20 05:51:54
  • 详解Java设计模式之备忘录模式的使用

    2023-09-10 09:38:32
  • Automapper实现自动映射的实例代码

    2023-08-14 16:37:10
  • Java11 发布前抓紧掌握这些新特性

    2022-02-08 13:20:58
  • Spring boot使用多线程过程步骤解析

    2023-04-03 04:54:50
  • Unity C#打包AssetBundle与场景详解

    2022-02-19 14:04:13
  • Android相册效果(使用C#和Java分别实现)

    2022-08-21 15:19:10
  • Java性能调优概述

    2023-07-06 05:42:51
  • C#事件管理器如何清空所有监听详解

    2022-01-17 14:29:44
  • Android实现标题上显示隐藏进度条效果

    2022-06-13 10:40:12
  • Spring Boot利用Docker快速部署项目的完整步骤

    2022-03-08 18:52:55
  • 妙解Java中的回调机制(CallBack)

    2022-07-15 15:25:31
  • Java 设计模式中的命令模式详情

    2023-11-15 23:25:33
  • Android实现图片文字轮播特效

    2021-07-25 18:44:11
  • asp之家 软件编程 m.aspxhome.com