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