C# Class Universe.BotManager.AStar.Heap

The Heap allows to maintain a list sorted as long as needed. If no IComparer interface has been provided at construction, then the list expects the Objects to implement IComparer. If the list is not sorted it behaves like an ordinary list. When sorted, the list's "Add" method will put new objects at the right place. As well the "Contains" and "IndexOf" methods will perform a binary search.
Inheritance: IList, ICloneable
Afficher le fichier Open project: Virtual-Universe/Virtual-Universe Class Usage Examples

Méthodes publiques

Méthode Description
Add ( object obj ) : int

IList implementation. Adds the object at the right place.

AddRange ( ICollection coll ) : void

The objects will be added at the right place.

Clear ( ) : void

IList implementation. Idem ArrayList

Clone ( ) : object

ICloneable implementation. Idem ArrayList

Contains ( object obj ) : bool

IList implementation. Search for a specified object in the list. If the list is sorted, a <see cref = "ArrayList.BinarySearch">BinarySearch</see> is performed using IComparer interface. Else the <see cref = "Equals">Object.Equals</see> implementation is used.

CopyTo ( Array array, int arrayIndex ) : void

IList.ICollection implementation. Idem ArrayList

Equals ( object obj ) : bool

Object.Equals() override.

GetEnumerator ( ) : IEnumerator

IList.IEnumerable implementation. Idem ArrayList

GetHashCode ( ) : int

Object.GetHashCode() override.

Heap ( ) : System

Default constructor. Since no IComparer is provided here, added objects must implement the IComparer interface.

Heap ( IComparer comparer ) : System

Constructor.

Heap ( IComparer comparer, int capacity ) : System

Constructor.

Heap ( int capacity ) : System

Constructor. Since no IComparer is provided, added objects must implement the IComparer interface.

IndexOf ( object obj ) : int

IList implementation. Returns the index of the specified object in the list. If the list is sorted, a <see cref = "ArrayList.BinarySearch">BinarySearch</see> is performed using IComparer interface. Else the <see cref = "Equals">Object.Equals</see> implementation of objects is used.

IndexOf ( object obj, Equality areEqual ) : int

Idem IndexOf(object), but with a specified equality function

IndexOf ( object obj, int start ) : int

Idem IndexOf(object), but starting at a specified position in the list

IndexOf ( object obj, int start, Equality areEqual ) : int

Idem IndexOf(object), but with a start index and a specified equality function

IndexOfMax ( ) : int

Returns the object of the list whose value is maximum

IndexOfMin ( ) : int

Returns the object of the list whose value is minimum

InitProperties ( IComparer comparer, int capacity ) : void
Insert ( int index, object obj ) : void

IList implementation. Cannot be used on a Heap.

InsertRange ( int index, ICollection coll ) : void

Cannot be called on a Heap.

LimitOccurrences ( object value, int numberToKeep ) : void

Limits the number of occurrences of a specified value. Same values are equals according to the Equals() method of objects in the list. The first occurrences encountered are kept.

Pop ( ) : object

Returns the topmost object on the list and removes it from the list

Push ( object obj ) : int

Pushes an object on list. It will be inserted at the right spot.

Remove ( object value ) : void

IList implementation. Idem ArrayList

RemoveAt ( int index ) : void

IList implementation. Idem ArrayList

RemoveDuplicates ( ) : void

Removes all duplicates in the list. Each value encountered will have only one representant

ToString ( ) : string

Object.ToString() override. Build a string to represent the list.

this ( int index ) : object

IList implementation. Gets object's value at a specified index. The set operation is impossible on a Heap.

Private Methods

Méthode Description
ObjectIsCompliant ( object obj ) : bool

Method Details

Add() public méthode

IList implementation. Adds the object at the right place.
The Heap is set to use object's IComparable interface, and the specified object does not implement this interface.
public Add ( object obj ) : int
obj object The object to add.
Résultat int

AddRange() public méthode

The objects will be added at the right place.
The Heap is set to use object's IComparable interface, and the specified object does not implement this interface.
public AddRange ( ICollection coll ) : void
coll ICollection The object to add.
Résultat void

Clear() public méthode

IList implementation. Idem ArrayList
public Clear ( ) : void
Résultat void

Clone() public méthode

ICloneable implementation. Idem ArrayList
public Clone ( ) : object
Résultat object

Contains() public méthode

IList implementation. Search for a specified object in the list. If the list is sorted, a <see cref = "ArrayList.BinarySearch">BinarySearch</see> is performed using IComparer interface. Else the <see cref = "Equals">Object.Equals</see> implementation is used.
public Contains ( object obj ) : bool
obj object The object to look for
Résultat bool

CopyTo() public méthode

IList.ICollection implementation. Idem ArrayList
public CopyTo ( Array array, int arrayIndex ) : void
array System.Array
arrayIndex int
Résultat void

Equals() public méthode

Object.Equals() override.
public Equals ( object obj ) : bool
obj object
Résultat bool

GetEnumerator() public méthode

IList.IEnumerable implementation. Idem ArrayList
public GetEnumerator ( ) : IEnumerator
Résultat IEnumerator

GetHashCode() public méthode

Object.GetHashCode() override.
public GetHashCode ( ) : int
Résultat int

Heap() public méthode

Default constructor. Since no IComparer is provided here, added objects must implement the IComparer interface.
public Heap ( ) : System
Résultat System

Heap() public méthode

Constructor.
public Heap ( IComparer comparer ) : System
comparer IComparer Will be used to compare added elements for sort and search operations.
Résultat System

Heap() public méthode

Constructor.
public Heap ( IComparer comparer, int capacity ) : System
comparer IComparer Will be used to compare added elements for sort and search operations.
capacity int /// Capacity of the list (ArrayList.Capacity) ///
Résultat System

Heap() public méthode

Constructor. Since no IComparer is provided, added objects must implement the IComparer interface.
public Heap ( int capacity ) : System
capacity int /// Capacity of the list (ArrayList.Capacity) ///
Résultat System

IndexOf() public méthode

IList implementation. Returns the index of the specified object in the list. If the list is sorted, a <see cref = "ArrayList.BinarySearch">BinarySearch</see> is performed using IComparer interface. Else the <see cref = "Equals">Object.Equals</see> implementation of objects is used.
public IndexOf ( object obj ) : int
obj object The object to locate.
Résultat int

IndexOf() public méthode

Idem IndexOf(object), but with a specified equality function
public IndexOf ( object obj, Equality areEqual ) : int
obj object The object to locate.
areEqual Equality Equality function to use for the search.
Résultat int

IndexOf() public méthode

Idem IndexOf(object), but starting at a specified position in the list
public IndexOf ( object obj, int start ) : int
obj object The object to locate.
start int The index for start position.
Résultat int

IndexOf() public méthode

Idem IndexOf(object), but with a start index and a specified equality function
public IndexOf ( object obj, int start, Equality areEqual ) : int
obj object The object to locate.
start int The index for start position.
areEqual Equality Equality function to use for the search.
Résultat int

IndexOfMax() public méthode

Returns the object of the list whose value is maximum
public IndexOfMax ( ) : int
Résultat int

IndexOfMin() public méthode

Returns the object of the list whose value is minimum
public IndexOfMin ( ) : int
Résultat int

InitProperties() public méthode

public InitProperties ( IComparer comparer, int capacity ) : void
comparer IComparer
capacity int
Résultat void

Insert() public méthode

IList implementation. Cannot be used on a Heap.
Insert method cannot be called on a Heap.
public Insert ( int index, object obj ) : void
index int The index before which the object must be added.
obj object The object to add.
Résultat void

InsertRange() public méthode

Cannot be called on a Heap.
Insert cannot be called on a Heap.
public InsertRange ( int index, ICollection coll ) : void
index int The index before which the objects must be added.
coll ICollection The object to add.
Résultat void

LimitOccurrences() public méthode

Limits the number of occurrences of a specified value. Same values are equals according to the Equals() method of objects in the list. The first occurrences encountered are kept.
public LimitOccurrences ( object value, int numberToKeep ) : void
value object Value whose occurrences number must be limited.
numberToKeep int Number of occurrences to keep
Résultat void

Pop() public méthode

Returns the topmost object on the list and removes it from the list
public Pop ( ) : object
Résultat object

Push() public méthode

Pushes an object on list. It will be inserted at the right spot.
public Push ( object obj ) : int
obj object Object to add to the list
Résultat int

Remove() public méthode

IList implementation. Idem ArrayList
public Remove ( object value ) : void
value object The object whose value must be removed if found in the list.
Résultat void

RemoveAt() public méthode

IList implementation. Idem ArrayList
public RemoveAt ( int index ) : void
index int Index of object to remove.
Résultat void

RemoveDuplicates() public méthode

Removes all duplicates in the list. Each value encountered will have only one representant
public RemoveDuplicates ( ) : void
Résultat void

ToString() public méthode

Object.ToString() override. Build a string to represent the list.
public ToString ( ) : string
Résultat string

this() public méthode

IList implementation. Gets object's value at a specified index. The set operation is impossible on a Heap.
Index is less than zero or Index is greater than Count. [] operator cannot be used to set a value on a Heap.
public this ( int index ) : object
index int
Résultat object