github.com/tcrouch/multiset.cr

Multiset (bag) data structure

4 stars
2 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  multiset:
    github: tcrouch/multiset.cr
    version: ~> 0.5.0

Then run:

shards install

shard.yml

Crystal
>= 0.35.0
License
MIT
Author
Tom Crouch

Dependencies

This version declares no dependencies.

README

multiset

GitHub Workflow Status (branch) Documentation

A multiset (bag) implementation in Crystal.

Installation

Add this to your application's shard.yml:

dependencies:
  multiset:
    github: tcrouch/multiset.cr

Usage

require "multiset"

ms1 = Multiset{1, 1}
ms1 << 2                          # => Multiset{1, 1, 2}
ms1.merge [3, 4]                  # => Multiset{1, 1, 2, 3, 4}
ms2 = Multiset.new [2, 3, 4]
ms2.subset_of?(ms1)               # => true
ms1 & ms2                         # => Multiset{2, 3, 4}

Development

crystal spec

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors