这篇文章主要介绍了JS实现的数组全排列输出算法,实例分析了全排列的原理与相关的javascript实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
新闻热点
疑难解答
图片精选