C#查找字符串一切分列組合的辦法。本站提示廣大學習愛好者:(C#查找字符串一切分列組合的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是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#法式設計有所贊助。