Exemple #1
0
        public void insert(string dValue)
        {
            Node234  curNode  = root;
            DataItem tempItem = new DataItem(dValue);
            //Check to see if value already exists
            Node234 found = find(dValue);

            if (found != null)
            {
                DataItem it = found.getItem(found.findItem(dValue));
                if (it != null)
                {
                    it.occurences++;
                    counter++;
                    return;
                }
                else
                {
                    throw new Exception("Could not find string occurence for: " + dValue);
                }
            }
            while (true)
            {
                if (curNode.isFull())
                {
                    split(curNode);
                    curNode = curNode.getParent();
                    curNode = getNextChild(curNode, dValue);
                }
                else if (curNode.isLeaf())
                {
                    break;
                }
                else
                {
                    curNode = getNextChild(curNode, dValue);
                }
            }

            curNode.insertItem(tempItem);
            counter++;
        }
Exemple #2
0
        public Node234 find(string key)
        {
            Node234 curNode = root;
            int     childNumber;

            while (true)
            {
                if ((childNumber = curNode.findItem(key)) != -1)
                {
                    return(curNode);
                }
                else if (curNode.isLeaf())
                {
                    return(null);
                }
                else
                {
                    curNode = getNextChild(curNode, key);
                }
            }
        }