A library for working with LIFO like data structures (stacks, queues).
.github/workflows | ||
spec | ||
src | ||
.editorconfig | ||
.gitignore | ||
LICENSE | ||
README.md | ||
shard.yml |
lifo
A library for working with LIFO like data structures (stacks, queues).
Installation
-
Add the dependency to your
shard.yml
:dependencies: lifo: github: grimmigerFuchs/lifo
-
Run
shards install
Usage
require "lifo"
stack = Lifo::Stack(String).new(3)
stack.push("Foo")
stack.push("Bar")
stack.push("Baz")
p! stack.pop
# stack.pop # => "Baz"
p! stack.pop
# stack.pop # => "Bar"
p! stack.peek
# stack.peek # => "Foo"
queue = Lifo::Queue(String).new(3)
queue.enqueue("John Doe")
queue.enqueue("Jane Doe")
p! queue.dequeue
# queue.dequeue # => "John Doe"
p! queue.peek
# queue.peek # => "Jane Doe"
Contributing
- Fork it (https://github.com/grimmigerFuchs/lifo/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Dominic Grimm - creator and maintainer