Class: ResizingIntSet
- Inherits:
-
Object
- Object
- ResizingIntSet
- Defined in:
- lib/simms_structures/int_set.rb
Instance Attribute Summary collapse
-
#count ⇒ Object
readonly
Returns the value of attribute count.
Instance Method Summary collapse
- #include?(num) ⇒ Boolean
-
#initialize(num_buckets = 20) ⇒ ResizingIntSet
constructor
A new instance of ResizingIntSet.
- #insert(num) ⇒ Object
- #remove(num) ⇒ Object
Constructor Details
#initialize(num_buckets = 20) ⇒ ResizingIntSet
Returns a new instance of ResizingIntSet.
61 62 63 64 |
# File 'lib/simms_structures/int_set.rb', line 61 def initialize(num_buckets = 20) @store = Array.new(num_buckets) { Array.new } @count = 0 end |
Instance Attribute Details
#count ⇒ Object (readonly)
Returns the value of attribute count.
59 60 61 |
# File 'lib/simms_structures/int_set.rb', line 59 def count @count end |
Instance Method Details
#include?(num) ⇒ Boolean
79 80 81 |
# File 'lib/simms_structures/int_set.rb', line 79 def include?(num) self[num].include?(num) end |
#insert(num) ⇒ Object
66 67 68 69 70 |
# File 'lib/simms_structures/int_set.rb', line 66 def insert(num) resize! if @count == num_buckets self[num] << num unless include?(num) @count += 1 end |
#remove(num) ⇒ Object
72 73 74 75 76 77 |
# File 'lib/simms_structures/int_set.rb', line 72 def remove(num) if include?(num) self[num].delete(num) @count -= 1 end end |