我在javascript中有一个n个不同元素的数组,我知道有n个!订购这些元素的可能方式.我想知道什么是最有效(最快)的算法来生成这个数组的所有可能的排序?
我有这个代码:
var swap = function(array, frstElm, scndElm) {
var temp = array[frstElm];
array[frstElm] = array[scndElm];
array[scndElm] = temp;
}
var permutation = function(array, leftIndex, size) {
var x;
if(leftIndex === size) {
temp = "";
for (var i = 0; i < array.length; i++) {
temp += array[i] + " ";
}
console.log("---------------> " + temp);
} else {
for(x = leftIndex; x < size; x++) {
swap(array, leftIndex, x);
permutation(array, leftIndex + 1, size);
swap(array, leftIndex, x);
} …Run Code Online (Sandbox Code Playgroud)