JS实现的数组全排列输出算法

2019-12-18,,,,,,

本文实例讲述了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程序设计有所帮助。

您可能感兴趣的文章:

  • JS实现的全排列组合算法示例
  • js实现简单排列组合的方法
  • javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
  • javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
  • javascript状态栏的字符先杂乱出现再排列组合的代码
  • JS实现二维数组元素的排列组合运算简单示例
  • JavaScript如何实现元素全排列实例代码
  • JS使用队列对数组排列,基数排序算法示例
  • JavaScript全排列的六种算法 具体实现
  • 详解js数组的完全随机排列算法
  • JS实现的排列组合算法示例

《JS实现的数组全排列输出算法.doc》

下载本文的Word格式文档,以方便收藏与打印。