Beispiel #1
0
            public RetT?Delete(T query)
            {
                var del = BstDelete(ref root, query, _comp); if (del == null)

                {
                    return(null);
                }
                return(RetT.New(del.Value.value));
            }
Beispiel #2
0
            public RetT?Search(T query)
            {
                Node <T> node = BstSearchWithParent(root, null, query, _comp).ret; if (node == null)

                {
                    return(null);
                }
                return(RetT.New(node.value));
            }
Beispiel #3
0
            public RetT?Search(T query)
            {
                Node <AvlNodeInfo> node = AvlSearch(query);

                if (node == null)
                {
                    return(null);
                }
                return(RetT.New(node.value.value));
            }
Beispiel #4
0
            public (RetT?val, RetT?parent_val) SearchWithParent(T query)
            {
                (Node <AvlNodeInfo> node, Node <AvlNodeInfo> node_parent) = AvlSearchWithParent(query);

                RetT?val = null; if (node != null)
                {
                    val = RetT.New(node.value.value);
                }
                RetT?parent_val = null; if (node_parent != null)

                {
                    parent_val = RetT.New(node_parent.value.value);
                }

                return(val, parent_val);
            }