zoukankan      html  css  js  c++  java
  • 打印输入字符串的字母所有顺序的排列

    代码
            static void PrintSequenceString(string inputStr)
            {
                
    if (string.IsNullOrEmpty(inputStr))
                    
    throw new ArgumentNullException(string.Format("{0} is illegal", inputStr));
                
                
    char[] chr = inputStr.ToCharArray();
                List
    <string> results = new List<string>();
                Generate(chr, 
    0, results);
                
                
    foreach (string s in results)
                {
                    Console.WriteLine(s);
                }
            }

            
    static void Generate(char[] chr, int index, List<string> results)
            {
                
    if (index == chr.Length)
                    results.Add(
    new string(chr));
                
    for (int i = index; i < chr.Length; i++)
                {
                    swap(chr, i, index);
                    Generate(chr, index
    +1, results);
                    swap(chr, index, i);
                }
            }

            
    static void swap(char[] chr, int i, int j)
            {
                
    char tmp = chr[i];
                chr[i] 
    = chr[j];
                chr[j] 
    = tmp;
            }
  • 相关阅读:
    ndk与jni学习
    2021杭电多校第十场题解
    2021杭电多校第九场题解
    2021杭电多校第八场题解
    2021杭电多校第七场题解
    2021杭电多校第六场题解
    2021杭电多校第四场题解
    2021杭电多校第五场题解
    2021杭电多校第三场题解
    2021杭电多校第二场题解
  • 原文地址:https://www.cnblogs.com/qixue/p/1666357.html
Copyright © 2011-2022 走看看