lua模擬vector

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章