Module:Queue
跳到导航
跳到搜索
队列是一种先进先出(FIFO)的线性表。
方法
push:向队列尾部插入元素。
pop:弹出第一个元素。
front:访问第一个元素。
empty:检查容器是否为空。
例子
local queue = require("Module:queue") local myQueue = queue myQueue:push(1) -- 数字1入队列 myQueue:push(2) -- 数字2入队列 mw.log(myQueue:front()) -- 输出队列中第一个元素(此时为数字1) myQueue:pop() -- 将第一个元素(此时为数字1)弹出队列 mw.log(myQueue:front()) -- 输出队列中第一个元素(此时为数字2) myQueue:pop() -- 将第一个元素(此时为数字2)弹出队列 mw.log(myQueue:empty()) -- 输出此时队列是否为空 myQueue:push(3) -- 数字3入队列 mw.log(myQueue:empty()) -- 输出此时队列是否为空 mw.log(myQueue:front()) -- 输出队列中第一个元素(此时为数字3) myQueue:pop() -- 将第一个元素(此时为数字3)弹出队列
预期输出:
1 2 true false 3
local queue = { data={} } function queue.push(self, item) return table.insert(self.data, item) end function queue.front(self) return self.data[1] end function queue.pop(self) return table.remove(self.data, 1) end function queue.empty(self) return _G.next(self.data) == nil end return queue