AvlTree.Insert C# (CSharp) Method

Insert() public method

public Insert ( item ) : T>.AbstractBinaryTree
return T>.AbstractBinaryTree
        public override AbstractBinaryTree<AvlTree<T>, T> Insert(T item)
        {
            return base.Insert(item);
        }

Usage Example

コード例 #1
0
        public static int RemoveTimeSubset <T>(this AvlTree <MappedInterval <T> > tree, long from, long to)
        {
            var removedNodesCount             = 0;
            INode <MappedInterval <T> > first = null;
            INode <MappedInterval <T> > last  = null;

            // TODO Remove .ToArray()
            foreach (var node in tree.FirstOrderedSubsequence(node => AcceptNode(node.Key, from, to)).ToArray())
            {
                if (first == null)
                {
                    first = node;
                }

                last = node;

                tree.Delete(node.Key);
                removedNodesCount++;
            }

            if (first != null && first.Key.IntervalStart < from)
            {
                tree.Insert(new MappedInterval <T>(first.Key.IntervalStart, from, first.Key.Payload));
            }

            if (last != null && to < last.Key.IntervalEnd)
            {
                tree.Insert(new MappedInterval <T>(to, last.Key.IntervalEnd, last.Key.Payload));
            }

            return(removedNodesCount);
        }
All Usage Examples Of AvlTree::Insert
AvlTree