zoukankan      html  css  js  c++  java
  • JS实现的数组全排列输出算法

    本文实例讲述了JS实现的数组全排列输出算法。分享给大家供大家参考。具体分析如下:

    这段js代码对数组进行全排列输出,改进了一些老的代码 
    从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。

    function permute(input) {
      var permArr = [],
      usedChars = [];
      function main(input){
        var i, ch;
        for (i = 0; i < input.length; i++) {
          ch = input.splice(i, 1)[0];
          usedChars.push(ch);
          if (input.length == 0) {
            permArr.push(usedChars.slice());
          }
          main(input);
          input.splice(i, 0, ch);
          usedChars.pop();
        }
        return permArr
      }
      return main(input);
    };
    console.log(permute([5, 3, 7, 1]));

    希望本文所述对大家的javascript程序设计有所帮助。

  • 相关阅读:
    Task Schedule
    Number Game
    CDQ分治
    Friends and Subsequences
    HDU5266 pog loves szh III
    P1593 因子和
    求一个数的欧拉函数的优化
    Grandpa's Estate POJ
    LightOJ
    Paint The Wall HDU
  • 原文地址:https://www.cnblogs.com/wpbars/p/6244144.html
Copyright © 2011-2022 走看看