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 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#查找字符串所有排列组合的方法 的全部内容, 来源链接: utcz.com/z/330376.html

回到顶部