Anonymous user
Permutations: Difference between revisions
m
→{{header|Eiffel}}
m (→{{header|Perl}}: typo fix.) |
|||
Line 1,292:
=={{header|Eiffel}}==
<lang Eiffel>
permute(a: ARRAY[INTEGER]; k: INTEGER)▼
class
require▼
APPLICATION
create
local▼
make▼
i,t: INTEGER▼
do▼
feature {NONE} -- Initialization
if k=a.count then▼
make
else▼
permute (test, 1)▼
i:= k▼
i> a.count▼
loop▼
t:= a[k]▼
▲ permute (a: ARRAY [INTEGER]; k: INTEGER)
a[k]:= a[i]▼
a[i]:= t▼
count_positive: a.count > 0
permute(a,k+1)▼
a[k]:= a[i]▼
across
a as ar
▲ loop
io.put_integer (ar.item)
io.new_line
across
loop
▲ permute (a, k + 1)
▲ t := a [k]
a [c.item] := t
end
end
▲ end
▲make
▲ do
▲ test:= << 2,5,1>>
▲ permute(test, 1)
▲ end
end
</lang>
{{out}}
|