Kouksi44

Stack Class / Queue Class

Aug 1st, 2015
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.39 KB | None | 0 0
  1. class "Queue" {
  2.    
  3.     count=0;
  4.     isEmpty=true;
  5.     _queue={};
  6.     Queue=function(self)
  7.     end
  8. }
  9.  
  10. function Queue:clear()
  11.     self._queue={}
  12. end
  13.  
  14. function Queue:contains()
  15. end
  16.  
  17. function Queue:enqueue(value)
  18.     table.insert(self._queue,value)
  19.     self.isEmpty=false
  20.    
  21. end
  22.  
  23. function Queue:dequeue()
  24.     local val=table.remove(self._queue,1)
  25.     if #self._queue==0 then
  26.         self.isEmpty=true
  27.     end
  28.     return val
  29. end
  30.  
  31. function Queue:peek()
  32.     return self._queue[1]
  33. end
  34.  
  35. function Queue:last()
  36.     return self._queue[#self._queue]
  37. end
  38.  
  39. function Queue:dequeueLast()
  40.     local val=table.remove(self._queue)
  41.     if #self._queue==0 then
  42.         self.isEmpty=true
  43.     end
  44.     return val
  45. end
  46.  
  47.  
  48. -----------------------------------------------------------------------------------
  49.  
  50.  
  51. class "Stack" {
  52.    
  53.     stack={};
  54.     size=0;
  55.     isEmpty=true;
  56.     Stack=function(self)
  57.         self.size=#self.stack
  58.     end
  59.    
  60. }
  61.  
  62. function Stack:push(value)
  63.     table.insert(self.stack,value)
  64.     self.isEmpty=false
  65.     self.size=#self.stack
  66. end
  67.  
  68. function Stack:pop()
  69.     local v=table.remove(self.stack,#self.stack)
  70.     if #self.stack==0 then
  71.         self.isEmpty=true
  72.     end
  73.     self.size=#self.stack
  74.     return v
  75. end
  76.  
  77. function Stack:peek()
  78.     return self.stack[#self.stack]
  79. end
  80.  
  81. function Stack:clear()
  82.     self.stack={}
  83. end
  84.  
  85. function Stack:contains(value)
  86.     local found=false
  87.     for i=1,#self.stack do
  88.         if self.stack[i]==value then
  89.             found=true
  90.         end
  91.     end
  92.     return found
  93. end
Advertisement
Add Comment
Please, Sign In to add comment