System.util.collections.OrderedTree.Remove C# (CSharp) Méthode

Remove() public méthode

public Remove ( IComparable key ) : void
key IComparable
Résultat void
        public void Remove(IComparable key)
        {
            if(key == null)
                throw new ArgumentNullException("Key is null");

            // find node
            int result;
            OrderedTreeNode node;

            // see if node to be deleted was the last one found
            result = key.CompareTo(lastNodeFound.Key);
            if(result == 0)
                node = lastNodeFound;
            else {
                // not found, must search
                node = rbTree;
                while(node != sentinelNode) {
                    result = key.CompareTo(node.Key);
                    if(result == 0)
                        break;
                    if(result < 0)
                        node = node.Left;
                    else
                        node = node.Right;
                }

                if(node == sentinelNode)
                    return; // key not found
            }

            Delete(node);

            intCount = intCount - 1;
        }