首页 > 编程 > C# > 正文

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

2020-01-24 01:54:49
字体:
来源:转载
供稿:网友

本文实例讲述了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#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表