温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-06-18 18:32:30 来源:亿速云 阅读:308 作者:小新 栏目:大数据

这篇文章主要为大家展示了“JS如何实现数组全排列输出算法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现数组全排列输出算法”这篇文章吧。

示例代码如下:

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]));

另外一种是根据字符串 来排序

function permutate(str) {
 
    var result=[];
    if(str.length==1){
        return [str]    
    }else{
     
            var preResult=permutate(str.slice(1));
            for (var j = 0; j < preResult.length; j++) {
                for (var k = 0; k < preResult[j].length+1; k++) {
                    var temp=preResult[j].slice(0,k)+str[0]+preResult[j].slice(k);              
                    result.push(temp);              
                }
            }
        return result;
 
    }  
}
 
console.log(permutate("abc"));

以上是“JS如何实现数组全排列输出算法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js
AI