コード例 #1
0
        public void Put(K key)
        {
            Node <K> currentNode = new Node <K>();

            currentNode.key = key;

            if (_root == null)
            {
                _root = currentNode;
                return;
            }

            Node <K> temp = _root;

            Node <K> parent = temp;

            while (temp != null)
            {
                parent = temp;
                if (currentNode.CompareTo(temp) < 0)
                {
                    temp = temp.left;
                }
                else if (currentNode.CompareTo(temp) > 0)
                {
                    temp = temp.right;
                }
            }

            if (currentNode.CompareTo(parent) < 0)
            {
                parent.left = currentNode;
            }
            else if (currentNode.CompareTo(parent) > 0)
            {
                parent.right = currentNode;
            }
        }