| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- local Queue = function()
- local queue = {};
- local tail = 0;
- local head = 0;
- local public = {};
- public.push = function(obj)
- queue[head] = obj;
- head = head + 1;
- return;
- end
- public.pop = function()
- if tail < head
- then
- local obj = queue[tail];
- queue[tail] = nil;
- tail = tail + 1;
- return obj;
- else
- return nil;
- end
- end
- public.size = function()
- return head - tail;
- end
- public.getHead = function()
- return head;
- end
- public.getTail = function()
- return tail;
- end
- public.reset = function()
- queue = {};
- head = 0;
- tail = 0;
- end
- return public;
- end
- return Queue;
|