BTreeNode * BPlusTree::GetLeafNode(int key) { BTreeNode * temp = root; while(temp!= NULL) { if(temp->isLeaf()) { return temp; } else { bool found = false; for (unsigned int i = 0 ; i < temp->getkeys().size() ; i++) { if(key <= temp->getkeys()[i]) { temp = temp->getChidNodes()[i]; found = true; break; } } if(!found) { temp = temp->getChidNodes()[temp->getChidNodes().size() -1]; } } } return NULL; }