這篇文章主要介紹了JS實現的數組全排列輸出算法,實例分析了全排列的原理與相關的javascript實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了JS實現的數組全排列輸出算法。分享給大家供大家參考。具體分析如下:
這段js代碼對數組進行全排列輸出,改進了一些老的代碼
從n個不同元素中任取m(m≤n)個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的一個排列。當m=n時所有的排列情況叫全排列。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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程序設計有所幫助。