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

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

  • 相关阅读:
    一个给照片换底色的牛逼网站
    如何写好ppt
    当你迷茫时,就来看看这个视频!
    IPV6地址检测
    性能测试流程
    pycharm中无法以pytest运行
    Mac charles配置完成后无法上网
    Mac Mysql安装过程的各种坑
    python常用模块之——正则re模块
    Jmeter参数化真香
  • 原文地址:https://www.cnblogs.com/smwikipedia/p/1456369.html
Copyright © 2011-2022 走看看