-
B 트리 검색 함수 구현
기존 배열에서 포인터 방식으로 구현 변경. 기존 방식보다 가독성 측면에서 더 나은 것 같다.
BTree::Exists
/// <summary> /// B 트리를 확인하여 주어진 값이 트리에 존재하는지 여부를 반환한다. /// </summary> /// <param name="data">확인할 값</param> /// <returns>존재 여부</returns> bool BTree::Exists(int data) { BTreeNode* node{ _root }; while (node != nullptr) { BTreeNodeKey* key{ node->keyRoot }; while (key != nullptr) { if (key->value == data) { return true; } if (data < key->value) { node = key->left; break; } else if (key->value < data) { if (key->next == nullptr || data < key->next->value) { node = key->right; break; } } key = key->next; } } return false; }