Stack, Queue, and Deque Data Structures for Kotlin
Kotlin Common:
implementation 'com.github.chRyNaN.queue:queue-common:VERSION'
JVM:
implementation 'com.github.chRyNaN.queue:queue-jvm:VERSION'
JS:
implementation 'com.github.chRyNaN.queue:queue-js:VERSION'
The API is similar to the kotlin.collections
API.
Stack (LIFO Queue):
val stack = stackOf(itemOne, itemTwo, itemThree)
stack.push(itemFour)
val item = stack.pop() // itemFour
Queue (FIFO Queue):
val queue = queueOf(itemOne, itemTwo, itemThree)
queue.push(itemFour)
val item = queue.pull() // itemOne
Deque (Double-ended Queue):
val deque = dequeOf(itemOne, itemTwo, itemThree)
deque.removeFirst() // itemOne
deque.removeLast() // itemThree