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;
            }
  • 相关阅读:
    数据不须要自由,但须要做爱
    编程算法基础-3.2自底向上风格
    Linux管道符
    阿里云 oss python3 样例
    6. Laravel5学习笔记:IOC/DI的理解
    LNMP环境搭建——MySQL篇
    在奋斗的日子里,傻笑出来(三)
    捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(一)
    vs 默认的INC和LIB
    一款DIY移动电源的性能
  • 原文地址:https://www.cnblogs.com/qixue/p/1666357.html
Copyright © 2011-2022 走看看