PS:表的长度为 len,向前移动 n 个位置,就是向后移动 len - n 个位置!
testTbl = {1, 2, 3, 4, 5, 6}
将testTbl 看做首尾元素相邻的环,请实现将表中所有元素向前移动 n 个位置!
如:
n = 1 移动之后的结果为:{2, 3, 4, 5, 6, 1}
n = 2 移动之后的结果为:{3, 4, 5, 6, 1, 2}
function moveAllEleTest(originTbl, n)
if type(originTbl) ~= "table" then return end
if #originTbl == 0 then return end
local newTbl = {}
for i = 1, #originTbl do
newTbl[i] = originTbl[(n - 1 + i) % #originTbl + 1]
end
return newTbl
end
local testTbl = {1, 2, 3, 4, 5, 6}
print(unpack(moveAllEleTest(testTbl, 5)))
整体移动table中的元素
于 2022-02-24 10:03:54 首次发布