Advertisement
Toxicator1

Stack

Feb 18th, 2023
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.47 KB | None | 0 0
  1. local Stack = {}
  2. Stack.__index = Stack
  3.  
  4. function Stack.new()
  5.     local self = setmetatable({}, Stack)
  6.    
  7.     self.tbl = {}
  8.    
  9.     return self
  10. end
  11.  
  12. function Stack:getSize()
  13.     return #self.tbl
  14. end
  15.  
  16. function Stack:pop()
  17.     if self:getSize() == 0 then
  18.         error("Attempt to pop empty stack")
  19.     end
  20.     return table.remove(self.tbl, self:getSize())
  21. end
  22.  
  23. function Stack:push(v)
  24.     table.insert(self.tbl, v)
  25. end
  26.  
  27. function Stack:peek()
  28.     return self.tbl[self:getSize()]
  29. end
  30.  
  31. return Stack
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement