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()