lua 判断一个表是否是连续的表

来源:互联网 发布:开淘宝店的详细流程 编辑:程序博客网 时间:2024/06/04 01:22


function Remove(ta,value)
local i = 1
while(ta[i]) do
if(ta[i] == value) then
table.remove(ta,i)
else
i = i+1
end
end
end






function Swap(num1,num2)
local  temp = num1
num1 = num2
num2 = temp
end


function BubbleSort(ta)
for  i= 0,#ta - 1,1 do
for j = 2,#ta-i,1 do
if(ta[j]>ta[j-1])then
Swap(ta[j],ta[j-1])
end
end
end
end


function IsContinus(ta)
local zeroCount = 0
for k,v in pairs(ta) do
if(v == 0) then
zeroCount = zeroCount+1
Remove(ta,v)
end
end
BubbleSort(ta)
for i = 2,#ta,1 do
lerp = ta[i]-ta[i-1]-1
zeroCount = zeroCount-lerp
end
if(zeroCount>=0)then
print("是连续的表")
else
print("非连续的表")
end
end


ta1 = {1,2,3,4,6}
IsContinus(ta1)
原创粉丝点击