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++; }
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); } } }