class
NgLib::
AATreeSet(T)
- NgLib::AATreeSet(T)
- Reference
- Object
Overview
順序付き集合です。
平衡二分探索木として AA木 を使用しています。 性能は赤黒木の方が良いことが多い気がします。
C++の標準ライブラリの
multiset
と違って、$k$ 番目の値が取り出せることなどが魅力的です。
Included Modules
- Enumerable(T)
Defined in:
nglib/data_structure/aatree_set.crConstructors
Instance Method Summary
- #<< (val : T) : Bool
- #== (other : AATreeSet(T)) : Bool
- #[] (k : Int) : T
- #[]? (k : Int) : T | Nil
- #add (val : T) : Nil
- #add? (val : T) : Bool
- #at (k : Int) : T
- #at? (k : Int) : T | Nil
- #clear
- #concat (elems) : self
- #count (val : T) : Int32
- #delete (val : T) : Bool
- #delete_at (k : Int) : Bool
- #delete_at? (k : Int) : Bool
-
#each
(& : T -> )
Must yield this collection's elements to the block.
-
#empty?
: Bool
Returns
true
ifself
is empty,false
otherwise. -
#first
: T
Returns the first element in the collection.
-
#first?
: T | Nil
Returns the first element in the collection.
- #greater_equal_index (val : T) : Int32 | Nil
- #greater_index (val : T) : Int32 | Nil
- #includes? (val : T) : Bool
-
#inspect
(io : IO) : Nil
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
- #last : T
- #last? : T | Nil
- #less_equal_index (val : T) : Int32 | Nil
- #less_index (val : T) : Int32 | Nil
- #lower_bound_index (val : T) : Int32
-
#size
: Int32
Returns the number of elements in the collection.
-
#to_a
: Array(T)
Returns an
Array
with all the elements in the collection. -
#to_s
(io : IO) : Nil
Appends a short String representation of this object which includes its class name and its object address.
- #upper_bound_index (val : T) : Int32
Constructor Detail
Instance Method Detail
Must yield this collection's elements to the block.
Returns
true
if
self
is empty,
false
otherwise.
([] of Int32).empty? # => true
([1]).empty? # => false
Returns the first element in the collection. Raises
Enumerable::EmptyError
if the collection is empty.
([1, 2, 3]).first # => 1
([] of Int32).first # raises Enumerable::EmptyError
Returns the first element in the collection.
When the collection is empty, returns
nil
.
([1, 2, 3]).first? # => 1
([] of Int32).first? # => nil
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
class Person
def initialize(@name : String, @age : Int32)
end
end
Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>
Returns the number of elements in the collection.
[1, 2, 3, 4].size # => 4
Returns an
Array
with all the elements in the collection.
(1..5).to_a # => [1, 2, 3, 4, 5]
Appends a short String representation of this object which includes its class name and its object address.
class Person
def initialize(@name : String, @age : Int32)
end
end
Person.new("John", 32).to_s # => #<Person:0x10a199f20>