private Node234 getNextChild(Node234 theNode, string dValue) { int j; int numItems = theNode.getNumItems(); for (j = 0; j < numItems; j++) { if (string.Compare(dValue, theNode.getItem(j).Value, StringComparison.CurrentCulture) < 0) { return(theNode.getChild(j)); } } return(theNode.getChild(j)); }
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++; }