Skip to content

Commit 55050a8

Browse files
committed
Exports the function
1 parent 9e04b42 commit 55050a8

1 file changed

Lines changed: 27 additions & 22 deletions

File tree

‎src/combinatorics/permutations.js‎

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,33 @@
1-
var permutations = (function () {
1+
(function (exports) {
22
'use strict';
3+
var permutations = (function () {
34

4-
var res;
5+
var res;
56

6-
function swap(arr, i, j) {
7-
var temp = arr[i];
8-
arr[i] = arr[j];
9-
arr[j] = temp;
10-
}
11-
12-
function permutations(arr, current) {
13-
if (current >= arr.length) {
14-
return res.push(arr.slice());
7+
function swap(arr, i, j) {
8+
var temp = arr[i];
9+
arr[i] = arr[j];
10+
arr[j] = temp;
1511
}
16-
for (var i = current; i < arr.length; i += 1) {
17-
swap(arr, i, current);
18-
permutations(arr, current + 1);
19-
swap(arr, i, current);
12+
13+
function permutations(arr, current) {
14+
if (current >= arr.length) {
15+
return res.push(arr.slice());
16+
}
17+
for (var i = current; i < arr.length; i += 1) {
18+
swap(arr, i, current);
19+
permutations(arr, current + 1);
20+
swap(arr, i, current);
21+
}
2022
}
21-
}
2223

23-
return function (arr) {
24-
res = [];
25-
permutations(arr, 0);
26-
return res;
27-
};
28-
}());
24+
return function (arr) {
25+
res = [];
26+
permutations(arr, 0);
27+
return res;
28+
};
29+
}());
30+
31+
exports.permutations = permutations;
32+
33+
}(typeof exports === 'undefined' ? window : exports));

0 commit comments

Comments
 (0)