| [Overview][Types][Classes][Variables][Index] | 
Source position: avl_tree.pp line 120
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  |