zoukankan      html  css  js  c++  java
  • 自己写的一个全排列算法,请各位指正。

    Code
    namespace permutation
    {
        
    class Program
        {
            
            
    static void Main(string[] args)
            {
                
    for (int i = 0; i < MAX; i++)
                {
                    chars[i] 
    = (char)((int)('a'+ i);
                    mark[i] 
    = 0;
                }

                Permutate();
                Console.WriteLine(
    "Total count is: {0}", count);
            }

            
    private static int MAX = 8;
            
    private static int count = 0;
            
    private static char[] chars = new char[MAX];
            
    private static char[] output = new char[MAX];
            
    private static int[] mark = new int[MAX];
            
    private static int output_index = 0;


            
    private static void Permutate()
            {
                
    for (int i = 0; i < MAX; i++)
                {
                    
    if (mark[i] == 0)
                    {
                        output[output_index] 
    = chars[i];
                        output_index
    ++;

                        
    if (output_index == MAX)
                        {
                            count
    ++;
                            
    for (int ii = 0; ii < MAX; ii++)
                                Console.Write(output[ii]);
                            Console.WriteLine();
                        }

                        mark[i] 
    = 1;
                        Permutate();
                        mark[i] 
    = 0;
                        output_index
    --;
                    }
                }
            }
        }
    }

    运行已经没有错误,只是想知道怎么能优化一下。

  • 相关阅读:
    成功给家长们举办了supermemo软件安装与使用的培训
    抓到两只IE8的虫子
    域名保护期是咋回事
    IE8开发人员工具,让web开发的客户端调试畅通无阻
    (转)网站成功的法则
    谢文的社区观
    玩《征途》感受——这么多年白玩游戏了 (zt)
    社区运营 VS 征途(转)
    SQLite多线程写锁文件解决方案
    sqlite和sql server语法上的一些区别
  • 原文地址:https://www.cnblogs.com/smwikipedia/p/1456369.html
Copyright © 2011-2022 走看看