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

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

  • 相关阅读:
    文件上传之前先进行预览
    代码规范
    ESLint 配置文件 .eslintrc 示例及说明
    JQ ajax全局事件 (个人学习笔记)
    JQ ajax (个人学习笔记)
    js 滚动加载图片(懒加载)实现原理 (个人学习笔记)
    js 正则 (个人学习笔记)
    js 理解闭包 (个人学习笔记)
    js 改变this指向的几种方法(个人学习笔记)
    js 理解this指向(个人学习笔记)
  • 原文地址:https://www.cnblogs.com/smwikipedia/p/1456369.html
Copyright © 2011-2022 走看看