[Overview][Types][Classes][Variables][Index] Reference for unit 'AVL_Tree' (#fcl)

TAVLTree.AddAscendingSequence

Declaration

Source position: avl_tree.pp line 120

public function TAVLTree.AddAscendingSequence(

  Data: Pointer;

  LastAdded: TAVLTreeNode;

  var Successor: TAVLTreeNode

):TAVLTreeNode;

Arguments

Data

  

Data to insert

LastAdded

  

Last added node. Must initially be Nil.

Successor

  

Successor node. Must initially be Nil.

Function result

The newly inserted node

Description

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.

Errors

If the nodes are not in ascending order, the tree will not be consistent.

See also

TAVLTree.Add

  

Add a new node to the tree


Documentation generated on: May 14 2021