Permutations: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 2,881:
3 1 2
3 2 1
</pre>
=={{header|PowerShell}}==
 
{{works with|PowerShell|4.0}}
 
<lang PowerShell>
function permutation ($array) {
function generate($n, $array, $A) {
if($n -eq 1) {
"$($array[$A])`n"
}
else{
for( $i = 0; $i -lt ($n - 1); $i += 1) {
generate ($n - 1) $array $A
if($n % 2 -eq 0){
$i1, $i2 = $i, ($n-1)
$temp = $A[$i1]
$A[$i1] = $A[$i2]
$A[$i2] = $temp
}
else{
$i1, $i2 = 0, ($n-1)
$temp = $A[$i1]
$A[$i1] = $A[$i2]
$A[$i2] = $temp
}
}
generate ($n - 1) $array $A
}
}
$n = $array.Count
if($n -gt 0) {
(generate $n $array (0..($n-1)))
} else {$array}
}
permutation @('A','B','C')
</lang>
<b>Output:</b>
<pre>
A B C
 
B A C
 
C A B
 
A C B
 
B C A
 
C B A
</pre>
 
678

edits