Permutations by swapping: Difference between revisions

m
m (→‎{{header|REXX}}: changed/added comments and whitespace, changed indentations.)
Line 895:
=={{header|Lua}}==
{{trans|C++}}
<lang Lua>_JT={}
function JT:new(dim)
JT local n={ values={}, positions={}, directions={}, sign=1 }
 
setmetatable(n,{__index=self_JT})
function JT:new(dim)
local n={}
setmetatable(n,{__index=self})
for i=1,dim do
n.values[i]=i
Line 909 ⟶ 907:
end
 
function JT_JT:largestMobile()
for i=#self.values,1,-1 do
local loc=self.positions[i]+self.directions[i]
Line 919 ⟶ 917:
end
 
function JT_JT:next()
local r=self:largestMobile()
if r==0 then return false end
Line 934 ⟶ 932:
-- test
 
perm=JT:new(4)
repeat
print(unpack(perm.values))
until not perm:next()</lang>
</lang>
{{out}}
<pre>1 2 3 4
Anonymous user