New to Telerik UI for WinFormsStart a free 30-day trial

Basic RBTree with ordering

Operation like Add and Remove are an O(2logN) operations. Operation Find is O(logN) operation.

Definition

Namespace:Telerik.Collections.Generic

Assembly:Telerik.WinControls.dll

Type Parameters:

T

Syntax:

C#
public class RBOrderedTreeBase<T> : RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>, IEnumerable, IOrderedTree<T>, ISortedTree<T>, ITree<T>

Inheritance: objectRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>RBOrderedTreeBase<T>

Derived Classes: RBOrderedMultiTree<T>RBOrderedTree<T>

Implements: IEnumerableIOrderedTree<T>ISortedTree<T>ITree<T>

Inherited Members RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.mSyncRootRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.mRootRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.mCountRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Add(T)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.AddOrGet(T)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Remove(T)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Clear()RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Remove(RBOrderedTreeNode<T>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Find(T)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.First()RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Last()RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Next(RBOrderedTreeNode<T>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Previous(RBOrderedTreeNode<T>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Balance(RBTreeNodeBase<T, RBOrderedNodeParam>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.NewNode()RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.LeftRotate(RBTreeNodeBase<T, RBOrderedNodeParam>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.RightRotate(RBTreeNodeBase<T, RBOrderedNodeParam>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Successor(RBTreeNodeBase<T, RBOrderedNodeParam>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Predecessor(RBTreeNodeBase<T, RBOrderedNodeParam>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Delete(RBTreeNodeBase<T, RBOrderedNodeParam>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.DeleteFix(RBTreeNodeBase<T, RBOrderedNodeParam>)RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.UniqueRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.SyncRootRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.RootRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.CountRBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.Collection...

Constructors

Tree constructor

C#
public RBOrderedTreeBase(bool aUnique)
Parameters:aUniquebool

Tree constructor with comparer

C#
public RBOrderedTreeBase(IComparer<T> aComparer, bool aUnique)
Parameters:aComparerIComparer<T>aUniquebool

Methods

Get item by order index This operation is O(logN) operation

C#
public RBOrderedTreeNode<T> GetByOrder(int idx)
Parameters:idxintReturns:

RBOrderedTreeNode<T>

Get order index of item This operation is O(logN) operation

C#
public int GetOrder(RBOrderedTreeNode<T> aItem)
Parameters:aItemRBOrderedTreeNode<T>Returns:

int

Create new node

C#
protected override RBTreeNodeBase<T, RBOrderedNodeParam> NewNode()
Returns:

RBTreeNodeBase<T, RBOrderedNodeParam>

Overrides: RBTreeBase<T, RBOrderedTreeNode<T>, RBOrderedNodeParam>.NewNode()