[Properties (by Name)] [Methods (by Name)] [Events (by Name)]
AVL tree component.
Source position: avl_tree.pp line 89
| type TAVLTree = class | ||
| public | ||
| constructor Create(); | 
 | Create a new instance of TAVLTree. | 
| constructor CreateObjectCompare(); | 
 | Create an instance of the tree with extended compare method. | 
| destructor Destroy; override; | 
 | Destroy the TAVLTree instance. | 
| property OnCompare: TListSortCompare; [rw] | 
 | Compare function used when comparing nodes. | 
| property OnObjectCompare: TObjectSortCompare; [rw] | 
 | Compare handler. | 
| property NodeClass: TAVLTreeNodeClass; [rw] | 
 | Node class to create. | 
| procedure SetNodeManager(); | 
 | Set the node instance manager to use. | 
| function NewNode; virtual; | 
 | Create a new tree node. | 
| procedure DisposeNode(); virtual; | 
 | Dispose of a node outside of the tree. | 
| procedure Add(); | 
 | Add a new node to the tree. | 
| function AddAscendingSequence(); | 
 | |
| procedure Delete(); | 
 | Delete a node from the tree. | 
| function Remove(); | 
 | Remove a data item from the list. | 
| function RemovePointer(); | 
 | Remove a pointer item from the list. | 
| procedure MoveDataLeftMost(); | 
 | Move data to the nearest left element. | 
| procedure MoveDataRightMost(); | 
 | Move data to the nearest right element. | 
| procedure Clear; | 
 | Clears the tree. | 
| procedure FreeAndClear; | 
 | Clears the tree and frees nodes. | 
| procedure FreeAndDelete(); virtual; | 
 | Delete a node from the tree and destroy it. | 
| function Equals(); override; | 
 | Check if two trees are equal. | 
| function IsEqual(); | 
 | Check whether 2 tree instances are equal. | 
| procedure Assign(); virtual; | 
 | Assign another tree. | 
| property Root: TAVLTreeNode; [r] | 
 | Root node of the tree. | 
| 
 | Number of nodes in the tree. | |
| function Compare(); | 
 | Compare 2 nodes. | 
| function Find(); | 
 | Find a data item in the tree. | 
| function FindKey(); | 
 | Find a data item in the tree using alternate compare mechanism. | 
| function FindNearestKey(); | 
 | Find nearest key for a data pointer. | 
| function FindSuccessor(); | 
 | Find successor to node. | 
| function FindPrecessor(); | 
 | |
| function FindLowest; | 
 | Find the lowest (leftmost) node in the tree. | 
| function FindHighest; | 
 | Find the highest (rightmost) node in the tree. | 
| function FindNearest(); | 
 | Find the node closest to the data in the tree. | 
| function FindPointer(); | 
 | Search for a data pointer. | 
| function FindLeftMost(); | 
 | Find the node most left to a specified data node. | 
| function FindRightMost(); | 
 | Find the node most right to a specified node. | 
| function FindLeftMostKey(); | 
 | Find the node most left to a specified key node. | 
| function FindRightMostKey(); | 
 | Find the node most right to a specified key node. | 
| function FindLeftMostSameKey(); | 
 | Find the node most left to a specified node with the same data. | 
| function FindRightMostSameKey(); | 
 | Find the node most right of a specified node with the same data. | 
| function GetEnumerator; | 
 | Get an enumerator for the tree. | 
| function GetEnumeratorHighToLow; | 
 | Return an enumerator that enumerates the tree in reversed order. | 
| procedure ConsistencyCheck; virtual; | 
 | Check the consistency of the tree. | 
| procedure WriteReportToStream(); | 
 | Write the contents of the tree consistency check to the stream. | 
| function NodeToReportStr(); virtual; | 
 | Create a textual dump of the tree. | 
| function ReportAsString; | 
 | Return the tree report as a string. | 
| end; | 
| 
 | AVL tree component. | |
| | | ||
TAVLTree maintains a balanced AVL tree. The tree consists of TAVLTreeNode nodes, each of which has a Data pointer associated with it. The TAVLTree component offers methods to balance and search the tree.
By default, the list is searched with a simple pointer comparison algorithm, but a custom search mechanism can be specified in the OnCompare property.
| 
 | Represents a node in the tree. |