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
    --;
                    }
                }
            }
        }
    }

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

  • 相关阅读:
    d3.js(v5.7)的比例尺以及坐标轴
    d3.js(v5.7)的node与数据匹配(自动匹配扩展函数)
    d3.js(v5.7)的attr()函数完善(添加obj支持)
    d3.js入门之DOM操作
    d3.js入门学习
    最近在写个人网站,忙碌中。。。
    构建vue项目(vue 2.x)时的一些配置问题(持续更新)
    Python之元组
    Python之列表
    Python之字符串
  • 原文地址:https://www.cnblogs.com/smwikipedia/p/1456369.html
Copyright © 2011-2022 走看看