HeapBaseTElement Class |
Namespace: SD.Tools.Algorithmia.Heaps
The HeapBaseTElement type exposes the following members.
Name | Description | |
---|---|---|
HeapBaseTElement |
Initializes a new instance of the HeapBaseTElement class.
|
Name | Description | |
---|---|---|
Count |
Gets the number of elements in the heap.
| |
ElementCompareFunc |
Gets the element compare func, which is the func to compare two elements based on the heap type: the function returns true if the first element
is indeed the correct parent of the second element or false if not.
| |
IsMinHeap |
Gets a value indicating whether this instance is a min heap (true) or a max heap (false)
| |
KeyCompareFunc |
Gets the key compare func to compare elements based on key.
| |
Root |
Gets the root of the heap. Depending on the fact if this is a min or max heap, it returns the element with the minimum key (min heap) or the element
with the maximum key (max heap). If the heap is empty, null / default is returned
|
Name | Description | |
---|---|---|
Clear |
Clears all elements from the heap
| |
Contains |
Determines whether this heap contains the element specified
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
ExtractRoot |
Extracts and removes the root of the heap.
| |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Insert |
Inserts the specified element into the heap at the right spot
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Remove |
Removes the element specified
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
UpdateKeyTKeyType |
Updates the key of the element passed in. Only use this method for elements where the key is a property of the element, not the element itself.
This means that if you have a heap with value typed elements (e.g. integers), updating the key is updating the value of the element itself, and because
a heap might contain elements with the same value, this could lead to undefined results.
|
Heaps can't store value types. This is because changing a value type really makes it a different value, while changing the contents of an object doesn't make it a different object.