Source position: avl_tree.pp line 128
public function TAVLTree.AddAscendingSequence( |
Data: Pointer; |
LastAdded: TAVLTreeNode; |
var Successor: TAVLTreeNode |
):TAVLTreeNode; |
Data |
|
Data to insert. |
LastAdded |
|
Last added node. Must initially be Nil. |
Successor |
|
Successor node. Must initially be Nil. |
The newly inserted node.
AddAscendingSequence is an optimized version of Add for quickly adding an ascending sequence of nodes. It adds Data between LastAdded and Successor as a state and skips searching for an insert position. For nodes with same value the order of the sequence is kept.
It can be used as follows:
LastNode:=nil; // TAvlTreeNode Successor:=nil; // TAvlTreeNode for i:=1 to 1000 do LastNode:=Tree.AddAscendingSequence(TItem.Create(i),LastNode,Successor);
If LastAdded is Nil a regular add is performed.
If the nodes are not in ascending order, the tree will not be consistent.
|
Add a new node to the tree. |