vector= {}
vector.__index=vector;
--构造函数
function vector:new()
local o = {}
setmetatable(o,vector)
o.tempVec = {}
return o
end
--插入元素
function vector:push_back(num)
table.insert(self.tempVec,num)
end
--打印元素
function vector:show()
print("方式1:当前元素有:")
for i=1,#self.tempVec,1 do
print(i,":",self.tempVec[i])
end
print("方式2:当前元素有:")--ipairs遇到空的就中止了
for i,v in ipairs(self.tempVec) do
print(i,":",v)
end
end
--删除指定位置元素
function vector:removeAt(index)
--方式1 删除之后会将后面的往前移动
table.remove(self.tempVec,index)
--方式2 没有删除这个元素,只是把这个值置为空了
--self.tempVec[index]=nil
end
-- 获取长度
function vector:size()
--return table.getn(self.tempVec)
return #self.tempVec;
end
--删除指定元素
function vector:remove(num)
local le=#self.tempVec;
for i=1,le do
if self.tempVec[i] == num then
self.tempVec[i]=nil
break;
end
end
-- body
end
function vector:test()
print("测试成功")
end
c=vector.new();
c.test()
-- c:push_back(1)
-- c:push_back(2)
-- c:push_back(3)
-- c:push_back(4)
-- c:removeAt(2)
-- c:show()