Permutations: Difference between revisions

(Added Scala)
Line 607:
</pre>
 
=={{header|Erlang}}==
<lang Erlang>module(permute).
-export([permute/1]).
-import(lists, [append/1, append/2, delete/2, map/2]).
 
permute([]) ->
[[]];
permute(L) ->
append(map(fun(X) ->
map(fun(P) -> append([X],P) end, permute(delete(X, L)))
end, L)).</lang>
 
Demonstration (escript):
 
<lang Erlang>main(_) -> io:fwrite("~p~n", [permute:permute([1,2,3])]).</lang>
 
Output:
 
<pre>[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]</pre>
=={{header|Factor}}==
The all-permutations word is part of factor's standard library. See http://docs.factorcode.org/content/word-all-permutations,math.combinatorics.html
1,481

edits