先进先出(FIFO)简单的队列(不可变|可变)
Queue对象实现数据结构,允许以
先入先出(FIFO)的方式插入和检索元素。
let queue = ImmutableQueue<Int>()
let q1 = queue.enqueue(1) // ImmutableQueue(1)
let q123 = q1.enqueue(2,3) // ImmutableQueue(1,2,3)
let q12345 = q123.enqueue([4,5]) // ImmutableQueue(1,2,3,4,5)
let q123 = queue.enqueue(1,2,3)
let (q, qs) = q123.dequeue()
q // 1
qs // [2,3]
var queue = MutableQueue<Int>()
queue.enqueue(0)
queue.enqueue(1,2)
queue += 3
queue.count // 4
queue.enqueue([0,1])
queue ++= [2,3]
queue.count // 4
queue ++= [1,2,3]
let res = queue.dequeue()
res.head // 1
res.tail // [2.3]
queue ++= [1,2,3]
queue.clear()
queue.count // 0
enqueue(elems: T...) -> ImmutableQueue
enqueue(elems: [T]) -> ImmutableQueue
dequeue() -> (head: T, tail: [T])
dequeueOption() -> (head: T, tail: [T])?
front() -> T?
tail() -> ImmutableQueue
enqueue(elems: T...)
enqueue(elems: [T])
dequeue() -> (head: T, tail: [T])
dequeueOption() -> (head: T, tail: [T])?
dequeueFirst(predicate: T -> Bool) -> T?
dequeueAll(predicate: T -> Bool) -> [T]
clear()
front() -> T?
tail() -> MutableQueue