JavaScript实现数组全排列算法详解

作者:函数茶馆时间:2026-10-29 07:30:03浏览:284

本文介绍了一种基于JavaScript的数组全排列输出算法。通过递归方式遍历所有元素组合,改进传统实现逻辑,展示如何从n个不同元素中生成所有可能的排列顺序,并提供完整代码示例供参考。

JavaScript数组全排列算法实现

本文分享一个使用JavaScript实现的数组全排列输出算法实例,供开发者参考。

该段JavaScript代码对数组执行全排列输出,并对部分旧版代码逻辑进行了优化。所谓排列,是指从n个不同元素中任取m(m≤n)个元素,并按特定顺序排列;当取出的元素个数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程序设计的描述能对大家有所帮助。

作者最新文章