Double-ended queue module.
luarocks install denque
returns a new denque
object.
Returns
deq:denque
: adenque
object.
Example
local denque = require('deq')
local dq = denque.new()
get number of elements held in the denque
object.
local denque = require('deq')
local dq = denque.new()
local len = #dq
Returns
n:integer
: number of items held in thedenque
object.
insert data at the head.
Parameters
data:any
: a non-nil data.
Returns
elm:denque.element
: inserteddenque.element
object.
get the head element.
Returns
elm:denque.element
:denque.element
object.
insert data at the tail.
Parameters
data:any
: a non-nil data.
Returns
elm:denque.element
: inserteddenque.element
object.
get the tail element.
Returns
elm:denque.element
:denque.element
object.
remove the head element and return the data held by the head element.
Returns
data:any
: a data.
remove the tail element and return the data held by the tail element.
Returns
data:any
: a data.
remove the specified element and return the data held by the specified element.
Parameters
elm:denque.element
:denque.element
object.
Returns
data
: a data.
set a newdata if newdata
argument passed, and return a data held in element.
Parameters
newdata:any
: a non-nil data.
Returns
data
: a data.
get an previous denque.element
object.
Returns
elm:denque.element
: previousdenque.element
object.
get a next denque.element
object.
Returns
elm:deq.element
: nextdenque.element
object.
remove element from associated denque and return the data held by the element.
Returns
data:any
: a data.