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

时间:2021-05-20

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章