Queue 0.2.0

Queue 0.2.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最新发布2015年4月
SPM支持SPM

to4iki维护。



Queue 0.2.0

Queue

先进先出(FIFO)简单的队列(不可变|可变)

描述

Queue对象实现数据结构,允许以
先入先出(FIFO)的方式插入和检索元素。

用法

ImmutableQueue

let queue = ImmutableQueue<Int>()

enqueue

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)

dequeue

let q123 = queue.enqueue(1,2,3)
let (q, qs) = q123.dequeue()
q // 1
qs // [2,3]

MutableQueue

var queue = MutableQueue<Int>()

enqueue(+=)

queue.enqueue(0)
queue.enqueue(1,2)
queue += 3
queue.count // 4

enqueue(++=)

queue.enqueue([0,1])
queue ++= [2,3]
queue.count // 4

dequeue

queue ++= [1,2,3]
let res = queue.dequeue()
res.head // 1
res.tail // [2.3]

clear

queue ++= [1,2,3]
queue.clear()
queue.count // 0

方法

immutable.ImmutableQueue

  • 实例方法
    • enqueue(elems: T...) -> ImmutableQueue
    • enqueue(elems: [T]) -> ImmutableQueue
    • dequeue() -> (head: T, tail: [T])
    • dequeueOption() -> (head: T, tail: [T])?
    • front() -> T?
    • tail() -> ImmutableQueue

mutable.MutableQueue

  • 实例方法
    • 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

安装

许可证

MIT

作者

to4iki