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;
            }
  • 相关阅读:
    ORACLE创建、修改、删除序列
    mysql添加索引
    Mysql事物与Metadata lock 问题
    oracle 查询最近执行过的 SQL语句
    ORACLE 常用SQL查询
    ssh-keygen的用法
    sql之left join、right join、inner join的区别
    Linux下使用 ipset 封大量IP及ipset参数说明
    今天学习的小命令
    Linux下查看分区内目录及文件占用空间容量
  • 原文地址:https://www.cnblogs.com/qixue/p/1666357.html
Copyright © 2011-2022 走看看