当前位置: 移动技术网 > IT编程>开发语言>c# > C#查找字符串所有排列组合的方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网